Linux 中怎么設置計劃任務:cron 與 anacron(linux計劃任務如何設置)

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

Linux 中怎么設置計劃任務:cron 與 anacron(linux計劃任務如何設置)

cron 在 Linux 設置

cron – 是一個用于運行計劃任務如系統備份、更新等的守護進程。它適合在那些 24X7 不間斷運行的機器如服務器上運行的計劃任務。

命令/腳本被寫在 cron 任務腳本中,它是在crontab 文件中被安排的。系統默認的 cromtab 文件是/etc/crontab ,但是每個用戶也可以創建自己的 cromtab 文件來在特定時間運行用戶定義的命令。

要創建一份個人crontab 文件,只要輸入:

$ crontab -e

Linux 中怎么設置計劃任務:cron 與 anacron(linux計劃任務如何設置)

如何在 Linux 中設置 anacron

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

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

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

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

anacron 如何在 Linux 工作

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

period delay job-identifier command

從上面的格式中:

  • period – 這是任務的頻率,以天來指定,或者是@daily@weekly@monthly 代表每天、每周、每月一次。你也可以使用數字:1 – 每天、7 – 每周、30– 每月,或者N – 幾天。
  • delay – 這是在執行一個任務前等待的分鐘數。
  • job-id – 這是寫在日志文件中任務的獨特名字。
  • command – 這是要執行的命令或 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

這是實際發生的:

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

現在讓我們看一個例子。這個會每天運行 /home/aaronkilik/bin/backup.sh 腳本:

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

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

這里有兩個你應該理解的 anacrontab 文件的重要變量:

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

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

Anacron – /etc/anacrontab

# /etc/anacrontab: configuration file for anacron# See anacron(8) and anacrontab(5) for details.SHELL=/bin/shPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binHOME=/rootLOGNAME=root# These replace cron's entries1 5 cron.daily run-parts --report /etc/cron.daily7 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 的比較,幫助你理解何時用他們其中一個。

cron

anacron

它是守護進程

它不是守護進程

適合服務器

適合桌面/筆記本電腦

可以讓你以分鐘級運行計劃任務

只能讓你以天為基礎來運行計劃任務

關機時不會執行計劃任務

如果計劃任務到期,機器是關機的,那么它會在機器下次開機后執行計劃任務

普通用戶和 root 用戶都可以使用

只有 root 用戶可以使用(使用特定的配置啟動普通任務)

cron 和 anacron 主要的區別在于 cron 能在那些持續運行的機器上有效地運行,而 anacron 是針對那些會在一天內或者一周內會關機的機器。

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

本文地址: https://www.linuxprobe.com/cron-anacron-work.html ?

版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

(0)
上一篇 2023年8月25日 上午9:22
下一篇 2023年8月25日 上午9:38

相關推薦

国产毛片在线看| 台湾一级淫片高清视频| 英国video性精品高清最新| 国产成人片无码视频在线观看 | 好紧好湿太硬了我太爽了网站| 中文字幕一区二区三区永久| 成人羞羞视频国产| 动漫美女人物被黄漫小说| 精品一区精品二区制服| 午夜精品福利在线观看| 男男肉动漫未删减版在线观看| 午夜影视免费完整高清在线观看网站 | 最新无码a∨在线观看| 亚洲av无码一区二区三区不卡| 日韩中文字幕一在线| 亚洲国产综合第一精品小说| 最近日本免费观看高清视频| 亚洲AV日韩精品久久久久久| 日本免费看视频| 久久99精品久久久久久首页| 少妇人妻偷人精品视蜜桃| 久久久亚洲欧洲日产国码农村| 成人嗯啊视频在线观看| 一级特黄aaa大片免费看| 处破女第一次亚洲18分钟| 99久久国产免费中文无字幕| 国产精品亚洲一区二区三区在线| 香蕉视频在线看| 国产专区中文字幕| 第一福利官方航导航| 人妻aⅴ无码一区二区三区| 欧美国产日产片| 亚洲中久无码永久在线观看同| 欧美亚洲综合视频| 亚洲AV最新在线观看网址| 新版天堂中文在线8官网| 中文人妻无码一区二区三区| 在线观看黄日本高清视频| 91久久精品国产91久久性色tv| 国产精品无码免费视频二三区| 香蕉视频在线精品|