Linux设置定时任务crontab
时间:2016-01-03 02:24 来源:linux.it.net.cn 作者:IT
在Linux系统下,crontab是最常用的定时任务。常用的crontab命令主要有两个:
- crontab -e 执行文字编辑器来设定时程表,内定的文字编辑器是VI
- crontab -l 列出目前的定时任务列表
基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab定时任务的一些案例
30 3 * * * /alidata/server/httpd/bin/apachectl restart
上面的例子表示每晚的3:30重启apache
50 4 1,10,20 * * /alidata/server/httpd/bin/apachectl restart
上面的例子表示每周六、周日的13 : 10重启apache。
* */1 * * * /alidata/server/httpd/bin/apachectl restart
每一小时重启apache
* 23-7/1 * * * /alidata/server/httpd/bin/apachectl restart
晚上11点到早上7点之间,每隔一小时重启apache
注意事项:
1、设置定时任务一般日期和星期不同时设置
2、调试任务一般注意先手动执行脚本看是否可以执行,另外脚本放在定时任务不执行,建议放在普通用户权限下测试是否可以手动执行,同时检查环境变量的配置
3、以centos为例,默认定时任务执行日志在/var/log/cron
4、一般情况下会在脚本后面加重定向到/dev/null 2>&1
例如定时任务 */3 * * * * root /usr/local/ping.sh > /dev/null 2>&1
即错误输出与标准输出全部重定向到空,定时任务执行成功或者失败时,程序会向上层发送mail,由于平时工作中不打开sendmail功能,所以邮件会存储在临时目录/var/spool/clientmqueue,随着执行的任务次数多,文件也会越来越多,直到某一天,添加文件时,提示No space left on device,主要问题原因不在于垃圾文件会占很大空间,而在于每个文件会占用inode节点。
5、在部署到线上服务器之前,建议先在测试服务器上测试好。
(责任编辑:IT)
在Linux系统下,crontab是最常用的定时任务。常用的crontab命令主要有两个: - crontab -e 执行文字编辑器来设定时程表,内定的文字编辑器是VI - crontab -l 列出目前的定时任务列表
基本格式 :
crontab定时任务的一些案例
* 23-7/1 * * * /alidata/server/httpd/bin/apachectl restart
注意事项: 1、设置定时任务一般日期和星期不同时设置 2、调试任务一般注意先手动执行脚本看是否可以执行,另外脚本放在定时任务不执行,建议放在普通用户权限下测试是否可以手动执行,同时检查环境变量的配置 3、以centos为例,默认定时任务执行日志在/var/log/cron 4、一般情况下会在脚本后面加重定向到/dev/null 2>&1 例如定时任务 */3 * * * * root /usr/local/ping.sh > /dev/null 2>&1 即错误输出与标准输出全部重定向到空,定时任务执行成功或者失败时,程序会向上层发送mail,由于平时工作中不打开sendmail功能,所以邮件会存储在临时目录/var/spool/clientmqueue,随着执行的任务次数多,文件也会越来越多,直到某一天,添加文件时,提示No space left on device,主要问题原因不在于垃圾文件会占很大空间,而在于每个文件会占用inode节点。
5、在部署到线上服务器之前,建议先在测试服务器上测试好。 |