儲存在 git 儲存庫中的附加 crontab

儲存在 git 儲存庫中的附加 crontab

我有一個應用程序,它具有一些透過 crontab 安排的功能。

有沒有辦法讓我將這些 crontab 啟動的命令保存在 git 儲存庫中,同時將它們新增到使用者的 crontab 中?

我的第一個想法是添加* * * * * crontab /home/user/git_repository/crontab為新行crontab -e,以便它始終自動獲取它,但是crontab -h(default operation is replace, per 1003.2),雖然我只希望除了用戶的 crontab 之外還處理我的特殊 crontab,所以我不確定這是否是執行此操作的正確方法。

答案1

首先,問題。 Cron 儲存在「/var/spool/cron/crontabs」或類似的位置,取決於發行版。您可以將其新增至 git (也許只是您使用者的 crontab,而不是整個目錄),但您需要 root 存取權。我認為如果您手動更新它,您可能需要重新啟動 cron 才能重新載入 crontab。

其次,該錯誤看起來像是排他鎖。顯然,你不能在 crontab 時執行 crontab,這對於不覆蓋是有意義的。

對於系統級同步之類的東西,我使用 ansible,但這對於這個小任務來說可能有點過分了。

相關內容