日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
cron與anacron:如何在Linux中計(jì)劃任務(wù)

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

成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)與策劃設(shè)計(jì),長(zhǎng)清網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:長(zhǎng)清等地區(qū)。長(zhǎng)清做網(wǎng)站價(jià)格咨詢:13518219792

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

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

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

要?jiǎng)?chuàng)建一份個(gè)人 crontab 文件,只要輸入:

$ crontab -e

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

anacron 用于以天為單位的頻率運(yùn)行命令。它的工作與 cron 稍有不同,它假設(shè)機(jī)器不會(huì)一直開(kāi)機(jī)。

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

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

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

anacron 如何在 Linux 工作

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

period   delay   job-identifier   command

從上面的格式中:

  • period - 這是任務(wù)的頻率,以天來(lái)指定,或者是 @daily、@weekly、@monthly 代表每天、每周、每月一次。你也可以使用數(shù)字:1 - 每天、7 - 每周、30 - 每月,或者 N - 幾天。
  • delay - 這是在執(zhí)行一個(gè)任務(wù)前等待的分鐘數(shù)。
  • job-id - 這是寫(xiě)在日志文件中任務(wù)的獨(dú)特名字。
  • 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

這是實(shí)際發(fā)生的:

  • anacron 會(huì)檢查任務(wù)是否已經(jīng)在 period 字段指定的時(shí)間被被執(zhí)行了。如果沒(méi)有,則在等待 delay 字段中指定的分鐘數(shù)后,執(zhí)行 command 字段中指定的命令。
  • 一旦任務(wù)被執(zhí)行了,它會(huì)使用 job-id(時(shí)間戳文件名)字段中指定的名稱將日期記錄在 /var/spool/anacron 目錄中的時(shí)間戳文件中。

現(xiàn)在讓我們看一個(gè)例子。這個(gè)會(huì)每天運(yùn)行 /home/aaronkilik/bin/backup.sh 腳本:

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

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

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

  • START_HOURS_RANGE - 這個(gè)設(shè)置任務(wù)開(kāi)始運(yùn)行的時(shí)間范圍(也就是任務(wù)只在這幾個(gè)小時(shí)內(nèi)運(yùn)行)。

  • 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 的比較,幫助你理解何時(shí)用他們其中一個(gè)。

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

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

如果你還知道其他方式,請(qǐng)?jiān)谠u(píng)論欄中與我們分享。

(題圖:Pixabay,CC0)




當(dāng)前標(biāo)題:cron與anacron:如何在Linux中計(jì)劃任務(wù)
轉(zhuǎn)載來(lái)于:http://www.dlmjj.cn/article/cojoded.html