cron 作業本身是否代表現代系統的重大負擔?
我想每 15 秒左右執行一個非常簡單的腳本(如果將它移動到 dir z,那麼在 dir y 中是否有一個名為 x 的目錄 - 並且 x 每天只會出現一次)每 15 秒左右(一分鐘分為4*15 秒)。執行這樣的 cron 作業(它們執行的腳本不是資源密集型的)對性能、穩定性或其他任何東西有不可忽視的負面影響嗎?
要回答標題中的問題,不,大多數係統不會因執行 cron 作業而承受太多負擔。現代 Unix 系統上發生的許多自動化任務都是由 cron 作業啟動的。
諸如旋轉日誌和重新生成 man 使用的索引文件之類的事情都是通過 cron 作業啟動的。
如果您好奇,請查看下的任何目錄
/etc/cron*
。那里肯定會有例子說明這些事情是如何在您的系統上完成的。
首先,cron 的最小解析度是 1 分鐘。所以每15秒不會發生。如果你真的需要每 15 秒一次,那麼你需要重新考慮你的策略。
接下來,cron 只是在某個時間執行任務。如果任務是資源密集型的,那麼它也將在 cron 中。如果不是,那麼就不會。cron 增加了(幾乎)沒有任何成本,因為它傳遞要執行的命令的方式。
最後每 1 分鐘通過 cron 執行一個任務是相當愚蠢的。Anacron(它在您的電腦關閉或睡眠時執行日誌 cron 任務)將在它認為需要時按順序執行所有任務。
通過在文件應該顯示的時間每 1 分鐘執行一次該任務,您會得到更好的服務。甚至每 10 分鐘一次。
無需執行任務 1,440 次即可擷取您知道每天只會出現一次的文件。
如果您的任務非常重要以至於它可以立即看到該文件,那麼請使用其他內容。否則,我建議將任務頻率減慢到更適合您需求的頻率。
話雖這麼說,如果你真的想為此使用 cron,它不會增加任何額外的成本,然後只是通過命令行執行它,但是你的郵箱會滿的。