linux之任务计划cron

作者:阿豪 分类:系统运维

crontab 是Linux VPS里定时计划任务,可以说是一个使用频率很高的小工具了,最近几乎每天都会用到,详细介绍如下

[root@localhost ~]# cat /etc/crontab   命令计划配置文件

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin 变量

MAILTO=root  发送邮件给谁

# For details see man 4 crontabs

# Example of job definition:

# .---------------- minute (0 - 59)分

# |  .------------- hour (0 - 23)时

# |  |  .---------- day of month (1 - 31)日

# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...月

# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat周

# |  |  |  |  |

# *  *  *  *  * user-name(默认不定义是已root运行)  command to be executed(你要的命令)

格式:分 时 日 月 周

# crontab -e   进入任务计划编写界面,实际打开的是/var/spool/cron/usrname文件,如果用户是root,则打开的是/var/spool/cron/root

0 3 1-10 *  */2 * /bin/bash  /usr/local/sbin/12.sh

定义每个2个月的1-10号的3点执行一次任务计划

0 3 1-10 *  /2  2,5  /bin/bash  /usr/local/sbin/12.sh

定义每个2个月的1-10号的3点执行一次任务计划,星期二跟星期五

文件/var/spool/cron/username

分范围0-59,时范围0-23,日范围1-31,月范围1-12,周1-7

可用格式1-5表示一个范围1到5

可用格式1,2,3表示1或者2或者3

可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时

要保证服务是启动状态

# systemctl start crond.service

# systemctl status crond  查看系统任务计划状态

如为 Active: active (running)  则为运行状态,未启动则显示inactive (dead)

-u表示指定某个用户,不加-u选项则为当前用户

-e表示制定任务计划

-l 表示列出任务计划

-r 表示删除任务计划

cron练习题目

1、每天凌晨1点20分清除/var/log/show.log这个文件

20 1 * * *  echo "" >/var/log/show.log

2、每周日3点执行/bin/bash /usr/local/sbin/backup.sh

0 3 * * 0 /bin/bash /usr/local/sbin/backup.sh

3、每月14号4点十分执行/bin/bash /usr/local/sbin/backup.sh

10 4 14 * * /bin/bash /usr/local/sbin/backup.sh

4、每隔8小时执行ntpdate time.windows.com

0 */8 * * * ntpdate time.windows.com

5、每天1点和12点,18点执行/bin/bash /usr/local/sbin/test.sh

0 1,12,18 * * * /bin/bash /usr/local/sbin/test.sh

6、每天9点到18点执行/bin/bash /usr/local/sbin/test2.sh

0 9-18 * * * /bin/bash /usr/local/sbin/test2.sh


Linux 

非特别申明,本博文章均系博主原创或整理加工。

转载请注明文章出处:https://www.ahaoyw.com/article/46.html

创作不易,觉得有用请打个赏吧。
扫一扫,加我为微信好友加我为微信好友