crontab -让服务器执行定时任务

一、启动服务

  通常启动服务用 "/sbin/service crond start"就能够了,若是是root用户就是 "sudo service crond start"。若是是想开机启动那么就是用"chkconfig crond on"便可。nginx

二、查看运行状态

  能够经过查看进程" ps -ax | grep cron ",能够经过查看服务状态"service crond status"。shell

三、查看现有的定时任务

  经过命令 "crontab -l"能够查看现有的定时任务。vim

四、进入编辑状态

  运行" crontab -e",进入编辑状态,好比日志

#get ssl cert
0 0 1 * * /etc/nginx/ssl/getcert.sh >> /etc/nginx/ssl/get.log

  而后按"ESC"键,输入"wq"保存并退出便可,跟vim的编辑同样。保存后能够用 "crontab -l"看看是否添加成功。code

五、格式说明

  可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也能够直接修改/etc/crontab文件,具体的格式是
Minute Hour Day Month Dayofweek command
分钟 小时 天 月 天每星期 命令
好比进程

5 * * * * ps       #表示每小时的第5分钟执行一次ps命令  
5 5 * * * ps      #表示天天的5时5分执行一次ps命令  
5 5 5 * * ps      #表示每个月的5号5时5分执行一次ps命令  
5 5 5 5 * ps     #表示每一年的5月5号5时5分执行一次ps命令  
5 5  * * 5 ps     #表示每周5的5时5分执行一次ps命令  0表示星期天,1表示星期1

六、一些特殊字符

记住几个特殊符号的含义:
“*”表明取值范围内的数字
“/”表明”每”
“-”表明从某个数字到某个数字
“,”分开几个离散的数字
好比crontab

* /5 * * * * ps    #表示每隔5分钟执行一次ps命令  
* */5 * * * ps    #表示每隔5小时执行一次ps命令  
5 */5 * * * ps    #表示每隔5小时的第5分钟执行一次ps命令  
5 5-10 * * * ps    #表示天天的5-10小时中的第5分钟执行一次ps命令  
5 5,10 * * * ps    #表示天天的5和10小时中的第5分钟执行一次ps命令

七、一点技巧

执行命令的时候通常都须要保存日志来看看是否真的执行,因此在命令中用到">> /home/ps.log"这样的方式来保存执行的日志。
好比说 " */5 * * * * ps >> /home/ps.log "表示每隔5分钟执行一次ps命令 ,而后把输出的结果保存到了/home/ps.log 文件中ssl

八、crontab的命令参数

  • crontab -u //设定某个用户的cron服务,通常root用户在执行这个命令的时候须要此参数
  • crontab -l //列出某个用户cron服务的详细内容
  • crontab -r //删除没个用户的cron服务
  • crontab -e //编辑某个用户的cron服务
相关文章
相关标签/搜索