环境:Vmware Workstation 10,CentOS-7-x86_64-DVD-1511.iso,Xshell 4.0,ip:192.168.216.140.
系统自带crontab,且开机启动
[root@localhost ~]# systemctl status crond
● crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
Active: active (running) since 三 2017-12-06 15:37:55 CST; 33min ago
Main PID: 755 (crond)
CGroup: /system.slice/crond.service
└─755 /usr/sbin/crond -n
12月 06 15:37:55 localhost.localdomain systemd[1]: Started Command Scheduler.
12月 06 15:37:55 localhost.localdomain systemd[1]: Starting Command Scheduler…
12月 06 15:37:55 localhost.localdomain crond[755]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 48% if used.)
12月 06 15:37:56 localhost.localdomain crond[755]: (CRON) INFO (running with inotify support)
12月 06 16:00:01 localhost crond[755]: (root) RELOAD (/var/spool/cron/root)
查看定时任务
[root@localhost ~]# crontab -l
no crontab for root #没有定时任务
编辑定时任务
[root@localhost ~]# crontab -e
0-10 * * * * echo 'hello world' >> hello.text
no crontab for root - using an empty one
crontab: installing new crontab
[root@localhost ~]# crontab -l
0-10 * * * * echo ‘hello world’ >> hello.text
删除定时任务
[root@localhost ~]# crontab -r
查看定时任务
[root@localhost ~]# crontab -l
no crontab for root
任务格式如下:
minute hour day month week command
特殊字符:
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
常用实例:
每天早上6点执行任务
0 6 * * * echo "Good morning." >> /tmp/test.txt
每隔两天早上6点执行任务
0 6 */2 * * echo "Good morning." >> /tmp/test.txt
每隔两天早上6点和10点执行任务
0 6,10 */2 * * echo "Good morning." >> /tmp/test.txt
每隔两天早上6点到10点执行任务
0 6-10 */2 * * echo "Good morning." >> /tmp/test.txt