偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

cron與anacron:如何在Linux中計劃任務(wù)

系統(tǒng) Linux
在本篇中,我們會解釋 cron 和 anacron,并向你展示如何在 Linux 中設(shè)置 anacron。我們也會比較這兩個工具。

[[193518]]

在本篇中,我們會解釋 cron 和 anacron,并向你展示如何在 Linux 中設(shè)置 anacron。我們也會比較這兩個工具。

要在一個給定時間或者稍后安排一個任務(wù),你可以使用 at 或者 batch 命令,要使命令能夠重復(fù)運行,你可以使用 cron 以及 anacron 工具。

cron - 是一個用于運行計劃任務(wù)如系統(tǒng)備份、更新等的守護(hù)進(jìn)程。它適合在那些 24X7 不間斷運行的機器如服務(wù)器上運行的計劃任務(wù)。

命令/腳本被寫在 cron 任務(wù)腳本中,它是在 crontab 文件中被安排的。系統(tǒng)默認(rèn)的 crontab 文件是 /etc/crontab,但是每個用戶也可以創(chuàng)建自己的 crontab 文件來在特定時間運行用戶定義的命令。

要創(chuàng)建一份個人 crontab 文件,只要輸入:

  1. $ crontab -e 

如何在 Linux 中設(shè)置 anacron

anacron 用于以天為單位的頻率運行命令。它的工作與 cron 稍有不同,它假設(shè)機器不會一直開機。

cron 也適合在那些不會 24X7 運行如筆記本以及桌面電腦的機器上運行每日、每周以及每月的計劃任務(wù)(LCTT 譯注:不適合按小時、分鐘執(zhí)行任務(wù))。

假設(shè)你有一個計劃任務(wù)(比如備份腳本)要使用 cron 在每天半夜運行,也許你以及睡著,那時你的桌面/筆記本電腦已經(jīng)關(guān)機。你的備份腳本就不會被運行。

然而,如果你使用 anacron,你可以確保在你下次開啟桌面/筆記本電腦的時候,備份腳本會被執(zhí)行。

anacron 如何在 Linux 工作

anacron 任務(wù)被列在 /etc/anacrontab 中,任務(wù)可以使用下面的格式(anacron 文件中的注釋必須以 # 號開始)安排。

  1. 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 腳本。

要瀏覽示例文件,輸入:

  1. $ ls -l /var/spool/anacron/ 
  2. total 12 
  3. -rw------- 1 root root 9 Jun  1 10:25 cron.daily 
  4. -rw------- 1 root root 9 May 27 11:01 cron.monthly 
  5. -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 腳本:

  1. @daily    10    example.daily   /bin/bash /home/aaronkilik/bin/backup.sh 

當(dāng)機器在 backup.sh 期望被運行時是關(guān)機的,anacron 會在機器開機十分鐘之后運行它,而不用再等待 7 天。

這里有兩個你應(yīng)該理解的 anacrontab 文件的重要變量:

  • START_HOURS_RANGE - 這個設(shè)置任務(wù)開始運行的時間范圍(也就是任務(wù)只在這幾個小時內(nèi)運行)。
  • RANDOM_DELAY - 這定義添加到用戶定義的任務(wù)延遲的最大隨機延遲(默認(rèn)為 45)。

這是你的 anacrontab 文件可能看上去的樣子。

Anacron – /etc/anacrontab:

  1. # /etc/anacrontab: configuration file for anacron 
  2. # See anacron(8) and anacrontab(5) for details. 
  3. SHELL=/bin/sh 
  4. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 
  5. HOME=/root 
  6. LOGNAME=root 
  7. # These replace cron's entries 
  8. 1       5       cron.daily      run-parts --report /etc/cron.daily 
  9. 7       10      cron.weekly     run-parts --report /etc/cron.weekly 
  10. @monthly        15      cron.monthly    run-parts --report /etc/cron.monthly 
  11. @daily    10    example.daily   /bin/bash /home/aaronkilik/bin/backup.sh                                                                       

下面是 cron 以及 anacron 的比較,幫助你理解何時用他們其中一個。

cron anacron
它是守護(hù)進(jìn)程 它不是守護(hù)進(jìn)程
適合服務(wù)器 適合桌面/筆記本電腦
可以讓你以分鐘級運行計劃任務(wù) 只能讓你以天為基礎(chǔ)來運行計劃任務(wù)
關(guān)機時不會執(zhí)行計劃任務(wù) 如果計劃任務(wù)到期,機器是關(guān)機的,那么它會在機器下次開機后執(zhí)行計劃任務(wù)
普通用戶和 root 用戶都可以使用 只有 root 用戶可以使用(使用特定的配置啟動普通任務(wù))

cron 和 anacron 主要的區(qū)別在于 cron 能在那些持續(xù)運行的機器上有效地運行,而 anacron 是針對那些會在一天內(nèi)或者一周內(nèi)會關(guān)機的機器。

如果你還知道其他方式,請在評論欄中與我們分享。

(題圖:Pixabay,CC0)

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2010-03-09 17:45:11

Linux計劃任務(wù)

2019-11-14 10:00:18

Linuxcron任務(wù)自動化任務(wù)

2017-11-23 09:00:02

Linuxcron計劃任務(wù)

2019-05-29 08:00:00

Linux計劃任務(wù)cron

2010-06-18 17:38:42

Linux Anacr

2010-01-20 10:27:16

Linuxcrond命

2010-01-07 11:19:45

Linux計劃任務(wù)

2018-10-08 14:00:28

LinuxCron定時任務(wù)

2025-01-16 08:07:05

cron可視化管理器開源

2010-01-07 11:10:00

cron配置計劃

2017-03-27 08:30:00

Windows 8Windows計劃任務(wù)

2021-04-06 09:46:15

Linuxanacron命令系統(tǒng)運維

2021-01-08 08:47:56

Saltstack架構(gòu)管理服務(wù)器

2024-11-06 10:59:00

2017-07-14 11:50:15

Windows 10Windows計劃任務(wù)

2010-05-04 12:29:15

Oracle數(shù)據(jù)庫

2010-11-15 09:10:43

CrontabLinux計劃任務(wù)

2021-05-13 12:00:51

cron調(diào)度任務(wù)系統(tǒng)運維

2021-08-03 14:33:53

cron定時器Linux命令

2010-06-18 17:32:27

Linux Anacr
點贊
收藏

51CTO技術(shù)棧公眾號