
我正在使用樹莓派(作業系統-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!
以儲存變更。