关于python:从cron作业修改crontab

Modifying a crontab from a cron job

我有一个以多种模式运行的Python脚本。其中一种模式监视某些文件,如果这些文件已被修改,脚本将恢复它们。我这样做的方法是每分钟通过cron运行脚本。

存在另一个cron作业(实际上是使用不同的参数调用相同的脚本),以便在计划的时间结束后从crontab中删除脚本。最初,我试图在/etc/cron.d中使用crontab。如果在命令行上执行,脚本的行为与预期相同,但在从cron运行时不编辑crontab。

然后我切换到编写一个临时文件并从脚本执行crontab tempfile(通过subprocess.Popen)。这也不起作用,因为根本没有创建crontab。从命令行执行crontab tempfile并使用脚本创建的临时文件按预期工作。

我不能使用python-crontab库,因为这是一个商业项目,该库是GPLed。

cron是否有任何固有的局限性阻止这两种方法的运行?


GPL不是反商业的。 python-crontab可用于商业产品和服务。 您必须遵循复制左边的规则,声明实际代码本身不能被专有。 您可以随意出售,作为作者,我鼓励您从我的工作中赚钱。

除了那个错误,它看起来不像你的问题需要python-crontab。 您可以自己打开文件,如果这不起作用,那么无论如何它永远不会与python-crontab一起使用。