Linux_Crontab 定时任务

来源:互联网 发布:教育行业数据分析 编辑:程序博客网 时间:2024/06/02 00:26

环境: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