Tag Archives: cron

Linux下查看cron不能执行的原因

有的时候,我们明明在/etc/cron.d下创建了cron文件,却没法执行,此时可以如下排查:
sudo tail -f /var/log/cron
这个是分钟级别的cron执行日志,检查下你的脚本是否执行有错误,或者权限问题。

例如:
Nov 27 11:55:01 xxxxx crond[3957]: (*system*) WRONG FILE OWNER (/etc/cron.d/xxxx-cron)
可以看到,是cron文件必须为root。[......]

继续阅读

使用flock实现脚本互斥执行

还是在上午配置实验室服务器rsync的时候,发现如果目标文件非常多的时候,crontab中执行一次rsync的速度会很慢,这样很可能发生“追 尾”。

其实,我们可以用Linux下自带的flock命令在shell中实现互斥执行

flock (util-linux 2.13-pre7)
Usage: flock [-sxun][-w #] fd#
flock [-sxon][-w #] file [-c] command...
-s --shared G[......]

继续阅读

Python的sched模块和Timer类

我们经常需要定时的执行某个任务,在Linux下我们有强大的crontab,但是在Python这个粒度(定时执行函数),如何处理呢?
除了第三方的模块外,标准库为我们提供了sched模块和Timer类。

先说sched模块,准确的说,它是一个调度(延时处理机制),每次想要定时执行某任务都必须写入一个调度。
使用步骤如下:
(1)生成调度器:
s = sched.scheduler(time.time,time.sleep)
第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时[......]

继续阅读