首页,linux定时任务用到的是crontab,我们来看一下crontab如何使用
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab -l 查看定时任务
crontab -e 编辑或者加入新的定时任务
crontab -d 删除定时任务
crontab定时设置
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache
其次,需要注意的是
1、脚本路径最好用绝对路径,如果脚本里面有文件操作,里面的文件也需要用绝对路径
2、python脚本文件的第一行,写明pythoh的路径,#!/usr/local/bin/python
这个可以通过 which python 这个语句找到
3、文件需要有执行权限,linux的文件执行权限内容可以看这篇文章 http://junyiseo.com/linux/327.html
最后,linux定时执行失败的处理方法
如果我们的设置好了定时任务,但是却没有看到执行,可以通过下面的方法逐一查看
1、查看crontab的状态,看crontab是否开启
service crond start 启动
service crond stop 停止
service crond restart 重启
service crond reload 重新加载
2、看定时执行日志,是否有执行文件
cat /var/log/cron
3、看文件是否有执行权限,是否使用绝对路径,这个在上面说过
4、如果上面的都没有问题,那就是脚本的执行问题,这时候就需要看执行的错误日志。这个日志一般在 /var/spool/mail/ 。在这个文件夹里一般有几个用户的信息,我们一般是root这个用户,所以我们看这个root的信息。如果你是其他账号,可以看其他的用户的。