anacron服務(wù)存在的意義
Linux? 最初使用 Cron 自動執(zhí)行常規(guī)系統(tǒng)維護(hù),比如替換日志文件和更新垃圾信息過濾規(guī)則。這種方法可以很好地服務(wù)于全天候運行的服務(wù)器和其他系統(tǒng)。但是,如果要在不使用計算機(jī)時關(guān)閉它以節(jié)約資源(常見于臺式機(jī)和筆記本系統(tǒng)),那么則不能運行 Cron。如果不能定期運行 Cron,將會生成大量的日志文件并引發(fā)其他問題。Anacron服務(wù)的實用工具提供了一種解決方案,支持計算機(jī)在每次開機(jī)后運行常規(guī)的維護(hù)作業(yè),即使這些開機(jī)時間是不固定的。
anacron服務(wù)問題
如果在臺式機(jī)或筆記本電腦中運行 Linux(或大多數(shù)其他 UNIX 系統(tǒng)),那么可能會經(jīng)常關(guān)閉系統(tǒng)。確實,有些系統(tǒng)在一天中關(guān)機(jī)的時間也許要比開機(jī)的時間還長。這可以幫助減少電費。對于筆記本電腦來說,如果在旅途中沒有電源插座,經(jīng)常關(guān)機(jī)有助于延長電腦的使用時間。不幸的是,這種經(jīng)常性地關(guān)機(jī)行為會為 Linux 系統(tǒng)帶來問題,因為 Linux 使用稱為 Cron 的實用工具在后臺運行日常的維護(hù)作業(yè)。當(dāng)這些作業(yè)停止運行時,就會引發(fā)問題,時間一長,系統(tǒng)的性能就會越來越低。
Cron 的設(shè)計目的是在無人值守的情況下,在指定的時間啟動程序。一般來說,anacron服務(wù)共有兩種類型的 Cron 作業(yè)(即由 Cron 運行的程序):系統(tǒng) Cron 作業(yè),由系統(tǒng)運行,執(zhí)行系統(tǒng)維護(hù)任務(wù);另一種是 用戶 Cron 作業(yè),由用戶創(chuàng)建,用于執(zhí)行用戶任務(wù)。對于這兩種作業(yè)而言,系統(tǒng) Cron 作業(yè)更加重要一些。這些作業(yè)可能包括清除 /tmp 中的陳舊文件、替換日志文件、更新垃圾郵件過濾規(guī)則,以及更新 locate 數(shù)據(jù)庫。
anacron服務(wù)大部分 Linux 系統(tǒng)在 /etc 中包含了一系列與 Cron 有關(guān)的子目錄。/etc/crontab 文件指定 Cron 應(yīng)該將哪些作業(yè)作為系統(tǒng) Cron 作業(yè)運行。通常來講,該文件告訴 Cron 分別按照每小時、每天、每周和每月的時間間隔運行位于 /etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly 和 /etc/cron.monthly 中的腳本。運行這些作業(yè)的精確時間在 /etc/crontab 中指定。對于每天運行和以更長時間間隔運行的作業(yè),運行時間通常為早晨。問題在于,臺式機(jī)和筆記本系統(tǒng)很可能在這些時間是關(guān)閉的。
當(dāng) Cron 作業(yè)無法運行時,各種問題就隨之而來。具體問題取決于本來應(yīng)當(dāng)運行的 Cron 作業(yè),但舉例來說,問題包括日志文件變大,/tmp 目錄變亂,以及數(shù)據(jù)庫過期問題,這些數(shù)據(jù)庫用于存儲可用軟件更新或本地系統(tǒng)命令的位置。
顯然,保持運行 Cron 作業(yè)非常重要。如果需要經(jīng)常關(guān)閉某個系統(tǒng),應(yīng)當(dāng)尋找一種方法來避免這些問題。Anacron服務(wù) 正是實現(xiàn)這個目標(biāo)的解決方案。
【編輯推薦】