cron與anacron

cron

cron 是 linux 中運行例行性工作的一個服務捡多,守護進程是
crond休玩,是一個用于運行計劃任務如系統(tǒng)備份、更新等的守護進程馋艺。它適合在那些 7x24 小時不間斷運行的機器如服務器上運行的計劃任務嚎卫。

我們可以通過下面的命令去配置定時任務

crontab -e

這個 crontab -e 是針對使用者的 cron 來設計的肝断,如果是系統(tǒng)的例行性任務時,可以通過編輯 /etc/crontab 來實現(xiàn)。cron 這個服務的最低偵測限制是分鐘胸懈,所以 cron 會每分鐘去讀取一次 /etc/crontab 與 /var/spool/cron 里面的數(shù)據(jù)內(nèi)容 担扑,因此,只要你編輯完 /etc/crontab 這個文件趣钱,并且將他儲存之后涌献,那么 cron 的配置就自動運行了

定時任務的格式如下

Example of job definition:
.---------------- minute (0 - 59)
|  .------------- hour (0 - 23)
|  |  .---------- day of month (1 - 31)
|  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
|  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
|  |  |  |  |
*  *  *  *  * user-name command to be executed

Tips:
在 Linux 底下的 crontab 會自動的幫我們每分鐘重新讀取一次 /etc/crontab 的例行工作事項,但是某些原因或者是其他的 Unix 系統(tǒng)中首有,由於 crontab 是讀到內(nèi)存當中的燕垃,所以在你修改完 /etc/crontab 之后,可能并不會馬上運行井联, 這個時候請重新啟動 crond 這個服務卜壕,/etc/init.d/crond restart

anacron

如果你的服務器并非是 7x24 小時的運行,定時任務的執(zhí)行時間可能剛好在服務器關閉期間烙常,這個時候可以anacron就派上用場了

anacron 并不是用來取代 crontab 的轴捎,anacron 存在的目的就在于我們上頭提到的,在處理非 24 小時一直啟動的 Linux 系統(tǒng)的 crontab 的運行蚕脏!所以 anacron 并不能指定何時運行某項任務侦副, 而是以天為單位或者是在啟動后立刻進行 anacron 的動作,他會去偵測停機期間應該進行但是并沒有進行的 crontab 任務驼鞭,并將該任務運行一遍后秦驯,anacron 就會自動停止了

由于 anacron 會以一天、七天挣棕、一個月為期去偵測系統(tǒng)未進行的 crontab 任務译隘,因此對于某些特殊的使用環(huán)境非常有幫助。 舉例來說洛心,如果你的 Linux 主機是放在公司給同事使用的固耘,因為周末假日大家都不在所以也沒有必要開啟, 因此你的 Linux 是周末都會關機兩天的皂甘。但是 crontab 大多在每天的凌晨以及周日的早上進行各項任務, 偏偏你又關機了悼凑,此時系統(tǒng)很多 crontab 的任務就無法進行偿枕。 anacron 剛好可以解決這個問題

那么 anacron 又是怎么知道我們的系統(tǒng)啥時關機的呢?這就得要使用 anacron 讀取的時間記錄檔 (timestamps) 了户辫! anacron 會去分析現(xiàn)在的時間與時間記錄檔所記載的上次運行 anacron 的時間渐夸,兩者比較后若發(fā)現(xiàn)有差異, 那就是在某些時刻沒有進行 crontab 渔欢!此時 anacron 就會開始運行未進行的 crontab 任務了墓塌! 所以 anacron 其實也是透過 crontab 來運行的!因此 anacron 運行的時間通常有兩個,一個是系統(tǒng)啟動期間運行苫幢,一個是寫入 crontab 的排程中访诱。 這樣才能夠在特定時間分析系統(tǒng)未進行的 crontab 工作

anacron 任務被列在 /etc/anacrontab 中,任務可以使用下面的格式

# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22

#period in days   delay in minutes   job-identifier   command
1       5       cron.daily              nice run-parts /etc/cron.daily
7       25      cron.weekly             nice run-parts /etc/cron.weekly
@monthly 45     cron.monthly            nice run-parts /etc/cron.monthly

從上面的格式中:

period - 這是任務的頻率韩肝,以天來指定触菜,或者是@daily 、@weekly哀峻、@monthly 代表每天涡相、每周、每月一次剩蟀。你也可以使用數(shù)字:1 - 每天催蝗、7 - 每周、30- 每月育特,或者N - 幾天丙号。
delay - 這是在執(zhí)行一個任務前等待的分鐘數(shù)。
job-id - 這是寫在日志文件中任務的獨特名字且预。
command - 這是要執(zhí)行的命令或 shell 腳本槽袄。

例子:
1 5 cron.daily nice run-parts /etc/cron.daily #每天都執(zhí)行/etc/cront.daily/目錄下的腳本文件,真實的延遲RANDOM_DELAY+delay锋谐。這里的延遲是5分鐘遍尺,加上上面的RANDOM_DELAY,所以實際的延遲時間是5-50之間涮拗,開始時間為03-22點乾戏,如果機器沒關,那么一般就是在03:05-03:50之間執(zhí)行三热。nice命令將該進程設置為nice=10鼓择,默認為0,即低優(yōu)先級進程就漾。

區(qū)別

cron anacron
守護進程 不是守護進程
適合7x24小時運行的服務器 適合非7x24小時運行的服務器
可以讓你以分鐘級運行計劃任務有 只能讓你以天為基礎來運行計劃任務
關機時不會執(zhí)行計劃任務 如果計劃任務到期呐能,機器是關機的,那么它會在機器下次開機后執(zhí)行計劃任務
普通用戶和 root 用戶都可以使用 只有 root 用戶可以使用(使用特定的配置啟動普通任務)
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末抑堡,一起剝皮案震驚了整個濱河市摆出,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌首妖,老刑警劉巖偎漫,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異有缆,居然都是意外死亡象踊,警方通過查閱死者的電腦和手機温亲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杯矩,“玉大人栈虚,你說我怎么就攤上這事【盏” “怎么了节芥?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長逆害。 經(jīng)常有香客問我头镊,道長,這世上最難降的妖魔是什么魄幕? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任相艇,我火速辦了婚禮,結果婚禮上纯陨,老公的妹妹穿的比我還像新娘坛芽。我一直安慰自己,他們只是感情好翼抠,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布咙轩。 她就那樣靜靜地躺著,像睡著了一般阴颖。 火紅的嫁衣襯著肌膚如雪活喊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天量愧,我揣著相機與錄音钾菊,去河邊找鬼。 笑死偎肃,一個胖子當著我的面吹牛煞烫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播累颂,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼滞详,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了紊馏?” 一聲冷哼從身側響起料饥,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瘦棋,沒想到半個月后稀火,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體暖哨,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡赌朋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年凰狞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沛慢。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡赡若,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出团甲,到底是詐尸還是另有隱情逾冬,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布躺苦,位于F島的核電站身腻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏匹厘。R本人自食惡果不足惜嘀趟,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望愈诚。 院中可真熱鬧她按,春花似錦、人聲如沸炕柔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽匕累。三九已至陵刹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間哩罪,已是汗流浹背授霸。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留际插,地道東北人碘耳。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像框弛,于是被迫代替她去往敵國和親辛辨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 1.安裝cron yum install vixie-cron yum install crontabs vixi...
    Broom閱讀 1,246評論 0 1
  • Linux定時任務Crontab命令詳解 linux 系統(tǒng)則是由 cron (crond) 這個系統(tǒng)服務來控制的瑟枫。...
    孫燕超閱讀 1,816評論 0 4
  • 假設我要設置一個任務斗搞,每分鐘就要做一個數(shù)據(jù)同步,這個同步腳本的路徑是/home/blue/do/rsyncfile...
    長得太帥忚四種檌閱讀 495評論 0 0
  • 前一天學習了 at 命令是針對僅運行一次的任務慷妙,循環(huán)運行的例行性計劃任務僻焚,linux系統(tǒng)則是由 cron (cro...
    Zcclucky閱讀 574評論 0 0
  • 摘要:今天做了個數(shù)據(jù)庫的備份腳本虑啤,順便系統(tǒng)得學習一下Linux下定時執(zhí)行腳本的設置隙弛。Linux下的定時執(zhí)行主要是使...
    暖夏未眠丶閱讀 14,124評論 0 2