进入到Linux系统后,先检测Crontab服务是否安装
检查Crontab工具是否安装 crontab -l
检查Crontab服务是否启动 service crond status
没有安装的话,安装cron
yum install vixie-cron
yum install crontabs
写入定时任务,如果没有定时任务的话
提示如下:no crontab for root
写入任务 crontab -e (每隔一分钟打印当前时间到日志文件log.txt中)
*/1 * * * * date >> /tmp/log.txt
提示查看定时任务 tail -f /tmp/log.txt(不断显示文件几行的内容,动态的;-3代表最后3行)
[root@localhost ~]# tail -f /tmp/log.txt Mon Jul 10 17:19:01 CST 2017 Mon Jul 10 17:20:01 CST 2017 Mon Jul 10 17:21:01 CST 2017 Mon Jul 10 17:22:01 CST 2017 Mon Jul 10 17:23:01 CST 2017 Mon Jul 10 17:24:01 CST 2017 Mon Jul 10 17:25:01 CST 2017 Mon Jul 10 17:26:01 CST 2017 Mon Jul 10 17:27:01 CST 2017 Mon Jul 10 17:28:01 CST 2017 Mon Jul 10 17:29:01 CST 2017 Mon Jul 10 17:30:01 CST 2017 Mon Jul 10 17:31:01 CST 2017
Crontab基本组成
Crontab配置文件的格式
*代表没指定,就是时刻都要执行,即每分钟、每小时、每天等
常用案例如下
每晚的21:30重启apache
30 21 * * * service httpd restart
每月1,10,22日的4:45重启apache
45 4 1,10,22 * * service httpd restart
每月1到10日的4:45重启apache
45 4 1-10 * * service httpd restart
每隔两分钟重启apache服务器
*/2 * * * * service httpd restart #偶数分钟
1-59/2 * * * * service httpd restart #基数分钟
晚上11点到早上7点之间,每隔一小时重启apache
0 23-7/1 * * * service httpd restart
每天18:00至23:00之间没个30分钟重启apache
0,30 18-23 * * * service httpd restart
0-59/30 18-23 * * * service httpd restart
每分钟运行根目录下的test.php文件
*/1 * * * * /usr/local/php/bin/php /data/wwwroot/door/test.php
小结:
* 表示任何时候都匹配
可以用 A,B,C 表示或A或B或C时执行命令
可以用 A-B 表示A到B之间时执行命令
可以用 */A 表示每A分钟(小时等)执行一次命令
crontab -l 查看定时任务
crontab -e 创建编辑定时任务(删除单个可进入编辑手动删除)
crontab -r 删除所有的定时任务
service crond restart 重启所有的定时任务