管理 cron.*

管理 cron.*

我看到 Ubuntu 用於/etc/cron.{daily,weekly,monthly}cron 作業。我還看到有些東西,像是updatedbfrom mlocate,把他們的工作放在那裡:

$ dpkg -L mlocate|grep y/m
/etc/cron.daily/mlocate

有時,我想要停用其中一些作業(mlocate在本例中)。我顯然可以sudo mv /etc/cron.daily/mlocate ~/cron.daily-dont-run並且結束了。不過,有兩個問題:

  • 這是如何管理的嗎?有沒有類似的東西service管理 SysV 初始化腳本或覆蓋的內容,如中所述Upstart 簡介,10.41.1 覆蓋文件?我想告訴它“好吧,我不想讓你啟動”,但不觸及已安裝的內容(原因之一請參閱下一項)
  • 如果我刪除然後重新安裝mlocate,我將再次獲得 cron.daily 條目。另外,我猜(這是真的嗎?)升級可能不會順利進行(例如,它將創建一個 cron.daily 條目,或者如果 cron 條目中有它所依賴的內容,則可能會破壞該包)。

如果您這樣做,您如何管理/處理上述事情?

答案1

一種方法是chmod -x /usr/bin/updatedb.mlocate. cron 腳本檢查 +x 位,如果不可執行則退出。應該比弄亂 cron 檔案的侵入性要小,但需要注意的是手動執行 updateb.mlocate 會更複雜。

相關內容