
我看到 Ubuntu 用於/etc/cron.{daily,weekly,monthly}
cron 作業。我還看到有些東西,像是updatedb
from 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 會更複雜。