幫助中心
技術(shù)運維百科
Linux 中怎么設(shè)置計劃任務(wù):cron 與 anacron
2017-06-16 14:55:29
  Linux 中怎么設(shè)置計劃任務(wù):cron 與 anacron   cron 在 Linux 設(shè)置   cron - 是一個用于運行計劃任務(wù)如系統(tǒng)備份、更新等的守護(hù)進(jìn)程。它適合在那些 24X7 不間斷運行的機(jī)器如服務(wù)器上運行的計劃任務(wù)。   命令/腳本被寫在 cron 任務(wù)腳本中,它是在crontab 文件中被安排的。系統(tǒng)默認(rèn)的 cromtab 文件是/etc/crontab ,但是每個用戶也可以創(chuàng)建自己的 cromtab 文件來在特定時間運行用戶定義的命令。   要創(chuàng)建一份個人crontab 文件,只要輸入:$ crontab -e
Linux 中怎么設(shè)置計劃任務(wù):cron 與 anacron
  如何在 Linux 中設(shè)置 anacron   anacron 用于以天為單位的頻率運行命令。它的工作與 cron 稍有不同,它假設(shè)機(jī)器不會一直開機(jī)。   cron 也適合在那些不會 24X7 運行如筆記本以及桌面電腦的機(jī)器上運行每日、每周以及每月的計劃任務(wù)(LCTT 譯注:不適合按小時、分鐘執(zhí)行任務(wù))。   假設(shè)你有一個計劃任務(wù)(比如備份腳本)要使用 cron 在每天半夜運行,也許你以及睡著,那時你的桌面/筆記本電腦已經(jīng)關(guān)機(jī)。你的備份腳本就不會被運行。   然而,如果你使用 anacron,你可以確保在你下次開啟桌面/筆記本電腦的時候,備份腳本會被執(zhí)行。   anacron 如何在 Linux 工作   anacron 任務(wù)被列在 /etc/anacrontab 中,任務(wù)可以使用下面的格式(anacron 文件中的注釋必須以 # 號開始)安排。   period?? delay?? job-identifier?? command   從上面的格式中:   period - 這是任務(wù)的頻率,以天來指定,或者是@daily 、@weekly、@monthly 代表每天、每周、每月一次。你也可以使用數(shù)字:1 - 每天、7 - 每周、30- 每月,或者N - 幾天。   delay - 這是在執(zhí)行一個任務(wù)前等待的分鐘數(shù)。   job-id - 這是寫在日志文件中任務(wù)的獨特名字。   command - 這是要執(zhí)行的命令或 shell 腳本。   要瀏覽示例文件,輸入:   $ ls -l /var/spool/anacron/   total 12   -rw------- 1 root root 9 Jun? 1 10:25 cron.daily   -rw------- 1 root root 9 May 27 11:01 cron.monthly   -rw------- 1 root root 9 May 30 10:28 cron.weekly   這是實際發(fā)生的:   anacron 會檢查任務(wù)是否已經(jīng)在 period 字段指定的時間被被執(zhí)行了。如果沒有,則在等待 delay 字段中指定的分鐘數(shù)后,執(zhí)行 command字段中指定的命令。   一旦任務(wù)被執(zhí)行了,它會使用 job-id (時間戳文件名)字段中指定的名稱將日期記錄在 /var/spool/anacron 目錄中的時間戳文件中。   現(xiàn)在讓我們看一個例子。這個會每天運行 /home/aaronkilik/bin/backup.sh 腳本:   @daily??? 10??? example.daily?? /bin/bash /home/aaronkilik/bin/backup.sh   當(dāng)機(jī)器在 backup.sh 期望被運行時是關(guān)機(jī)的,anacron 會在機(jī)器開機(jī)十分鐘之后運行它,而不用再等待 7 天。   這里有兩個你應(yīng)該理解的 anacrontab 文件的重要變量:   START_HOURS_RANGE - 這個設(shè)置任務(wù)開始運行的時間范圍(也就是任務(wù)只在這幾個小時內(nèi)運行)。   RANDOM_DELAY - 這定義添加到用戶定義的任務(wù)延遲的最大隨機(jī)延遲(默認(rèn)為 45)。   這是你的 anacrontab 文件可能看上去的樣子。   Anacron – /etc/anacrontab :   # /etc/anacrontab: configuration file for anacron   # See anacron(8) and anacrontab(5) for details.   SHELL=/bin/sh   PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin   HOME=/root   LOGNAME=root   # These replace cron's entries   1?????? 5?????? cron.daily????? run-parts --report /etc/cron.daily   7?????? 10????? cron.weekly???? run-parts --report /etc/cron.weekly   @monthly??????? 15????? cron.monthly??? run-parts --report /etc/cron.monthly   @daily??? 10??? example.daily?? /bin/bash /home/aaronkilik/bin/backup.sh   下面是 cron 以及 anacron 的比較,幫助你理解何時用他們其中一個。
Linux 中怎么設(shè)置計劃任務(wù):cron 與 anacron
  cron 和 anacron 主要的區(qū)別在于 cron 能在那些持續(xù)運行的機(jī)器上有效地運行,而 anacron 是針對那些會在一天內(nèi)或者一周內(nèi)會關(guān)機(jī)的機(jī)器。   如果你還知道其他方式,請在評論欄中與我們分享。
新客優(yōu)惠
特價 酷睿i3系列
性價比熱銷推薦,年銷量第一
1180/月起
USA-IDC為您提供免備案服務(wù)器 0元試用
立即聯(lián)系在線客服,即可申請免費產(chǎn)品試用服務(wù)
立即申請