目录
首发于:
最近更新于:
分类: archived

crontab工具可以用来让系统执行一些周期性任务,其在ubuntu下服务名字叫cron;在centos下服务名字叫crond。

你可以通过crontab这个命令查看或修改具体的配置:

crontab -l  #列出配置文件内容

crontab -e  #进入配置文件编辑

编辑一般就是进入的vi编辑器。用crontab -e修改的配置会直接生效,不需要重启crontab的后台服务。如果重启后台服务了,那么所有的任务都会重新开始计时。当你的配置写着每隔一个小时执行某个任务,那么要等到下一个小时的时候才会执行任务。

一开始推荐写上这样一个每分钟的echo命令来看看crontab的具体运行情况。

* * * * * echo "test"

一般日志是默认在 /var/log/cron 那里(centos)。

然后上面的配置含义是 :

分 时 日 月 星期几 命令

其中小时是24时制,星期几0表示星期日,1表示星期一。后面的命令就是一行简单的shell命令,如果是多行命令的话建议写成bash脚本,然后给这个脚本可执行权限,然后写上该脚本的绝对路径名即可。

NOTICE: crontab里面执行的命令不是在shell环境下,比如pyenv环境就可能不会正常工作,推荐要使用什么命令什么文件都使用绝对路径。

每五分钟:

*/5 * * * *

每三个小时:

0 */3 * * *

注意前面分钟一定要写上0,这是新手很容易犯的一个错误。

每天早上七点钟:

0 7 * * *

一些常见的crobtab配置

本小节参考了 这篇文章

  • 每月 0 0 1 * *
  • 每周 0 0 * * 0
  • 每天 0 0 * * *
  • 每五个小时 0 */5 * * *
  • 每三十分钟 */30 * * * *

定时备份crontab配置

远程连接服务器,在进行crontab -e编辑的时候如果失去连接或者怎么意外终止了,那么你之前所有的crontab配置都会清空!!

所以请加个定时备份你的crontab配置命令:

* */1 * * * crontab -l > /home/backup/crontab.back