crontab

Posted nike_ha

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了crontab相关的知识,希望对你有一定的参考价值。

进入到Linux系统后,先检测Crontab服务是否安装

检查Crontab工具是否安装  crontab  -l

检查Crontab服务是否启动  service  crond  status

 

没有安装的话,安装cron

yum install vixie-cron
yum install crontabs

 

服务操作说明:

/sbin/service crond start //启动服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

/sbin/service crond reload //重新载入配置

/sbin/service crond status //启动服务

 

 

写入定时任务,如果没有定时任务的话

提示如下: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 重启所有的定时任务

以上是关于crontab的主要内容,如果未能解决你的问题,请参考以下文章

利用crontab自动更新SVN代码

crontab每秒执行URL接口

linux crontab定时任务调用CI框架PHP代码

linux定时执行php代码-定时计划crontab

django-crontab定时任务

crontab Linux下 crontab 命令的用法:sudo crontab -?