我正在使用树莓派(操作系统-Raspbian)开发一个小型家庭自动化项目。
我想知道如何使用 python-crontab 模块添加多个 crontab 文件而不替换crontab -e
?中的先前条目
我想以编程方式(无需手动前往crontab -e
并添加文件)安排两个 python 脚本 - 第一个脚本每 5 分钟后执行一次,另一个脚本每 2 分钟后执行一次。
我成功地使用 python-crontab 模块安排了第一个脚本,但是当我安排第二个脚本时,它替换了crontab -e
.那么如何安排新的 crontab 文件而不替换之前的文件呢?
如果有另一种 crontab 调度方式,请使用示例代码提出建议:)
注意:- 我想仅使用 python 脚本在 crontab 中安排 python 脚本,而不是手动添加crontab -e
.
答案1
答案2
既然 crontab 毕竟是文本文件,为什么不直接附加文本呢?
with open("/var/spool/cron/crontabs/john", "a") as ctfile:
ctfile.write("1 0 * * 3 /path/to/newcommand --option")
答案3
crontab -e
实际上是一个列出所有 cronjobs 的文件。
当您键入时,crontab -e
您将获得以前的 cronjobs 和 tildas ( ~
) 的列表。
按键盘上的插入按钮在模式之间切换,然后在最后一个 cronjob 结束时按 Enter 键。
它将删除 tilda,您可以在此处编写新的 cronjob。
要退出插入模式,请按 escape 并输入:wq!
以保存更改。