crontab -让服务器执行定时任务
1、启动服务
一般启动服务用 "/sbin/service crond start"就可以了,如果是root用户就是 "sudo service crond start"。如果是想开机启动那么就是用"chkconfig crond on"即可。
2、查看运行状态
可以通过查看进程" ps -ax | grep cron ",可以通过查看服务状态"service crond status"。
3、查看现有的定时任务
通过命令 "crontab -l"可以查看现有的定时任务。
4、进入编辑状态
运行" crontab -e",进入编辑状态,比如
#get ssl cert
0 0 1 * * /etc/nginx/ssl/getcert.sh >> /etc/nginx/ssl/get.log
然后按"ESC"键,输入"wq"保存并退出即可,跟vim的编辑一样。保存后可以用 "crontab -l"看看是否添加成功。
5、格式说明
可用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
6、一些特殊字符
记住几个特殊符号的含义:
“*”代表取值范围内的数字
“/”代表”每”
“-”代表从某个数字到某个数字
“,”分开几个离散的数字
比如
* /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命令
7、一点技巧
执行命令的时候一般都需要保存日志来看看是否真的执行,所以在命令中用到">> /home/ps.log"这样的方式来保存执行的日志。
比如说 " */5 * * * * ps >> /home/ps.log "表示每隔5分钟执行一次ps命令 ,然后把输出的结果保存到了/home/ps.log 文件中
8、crontab的命令参数
- crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
- crontab -l //列出某个用户cron服务的详细内容
- crontab -r //删除没个用户的cron服务
- crontab -e //编辑某个用户的cron服务
保持一颗好奇的心