我有一个以多种模式运行的 Python 脚本。其中一种模式监视某些文件,如果这些文件已被修改,脚本将恢复它们。我这样做的方法是通过 cron 每分钟运行一次脚本。
存在另一个 cron 作业(实际上是使用不同参数调用的相同脚本)以在预定时间过去后从 crontab 中删除脚本。最初,我试图在/etc/cron.d
. 如果在命令行上执行,该脚本会按预期运行,但在从 cron 运行时不会编辑 crontab。
然后我切换到编写一个临时文件并从脚本执行crontab tempfile
(通过)。subprocess.Popen
这也不起作用,因为 crontab 根本没有创建。从命令行执行crontab tempfile
并使用脚本创建的临时文件按预期工作。
我不能使用 python-crontab 库,因为这是一个商业项目,并且该库是 GPLed。
cron 中是否有任何固有的限制阻止这两种方法起作用?