Glab

linux管理:任务计划


crontab调用date时%需转义:

* 17 * * * who > /tmp/`date '+\%F'`.log

crontab格式

45 4  1,10,22  * *       #逗号分隔
0,30 18-23 * * *         #- 连续
0 */8 * * *              #每隔8小时重启一次
* 23-7/2 * * *           #23点-早上7点, 每两小时
0 11 4 * mon-wed date    #周一 ~ 周三
0 4 1 jan * date         #一月

防止脚本冲突 flock/lockf

间隔任务,当次未完成时, 下次任务不会执行

*/10 * * * * (lockf -s -t 0 /tmp/create.lock python /data/task.py >> /tmp/task.log 2>&1)


linux下的其他2种任务计划

at服务:
命令描述
atq查询当前的待执行任务(任务编号id)
atrm 删除等待任务,无指定id,删除所有
anacrontab系统级别的计划任务及其扩展

配置文件: /etc/anaconrtab

/etc/anaconrtab格式:

period(频率.天数)delay(延迟,分钟)job-identifiercommand
165cron.dailyrun-parts /etc/cron.daily
770cron.weeklyrun-parts /etc/cron.weekly
3075cron.monthlyrun-parts /etc/cron.monthly

第一行的意思是:每天开机65分钟后就检查cron.daily文件是否被执行了,如果今天没有被执行就执行他

第二行的意思是:每隔7天开机后70分钟检查cron.weekly文件是否被执行了,如果一周内没有被执行就执行他

当前页面是本站的「Baidu MIP」版。查看和发表评论请点击:完整版 »