導讀 | 在本篇中,我們會解釋 cron 和 anacron,並向你展示如何在 Linux 中設定 anacron。我們也會比較這兩個工具。 |
cron - 是一個用於執行排程任務如係統備份、更新等的守護程式。它適合在那些 24X7 不間斷運作的機器如伺服器上執行的排程任務。
指令/腳本被寫在 cron 任務腳本中,它是在crontab 檔案中被安排的。系統預設的 cromtab 檔案是/etc/crontab ,但每個使用者也可以建立自己的 cromtab 檔案來在特定時間執行使用者定義的命令。
要建立一份個人crontab 文件,只要輸入:
$ crontab -e#如何在 Linux 中設定 anacron
anacron 用於以天為單位的頻率運行指令。它的工作與 cron 稍有不同,它假設機器不會一直開機。
cron 也適合在那些不會 24X7 運行如筆記本以及桌面電腦的機器上運行每日、每週以及每月的計劃任務(LCTT 譯註:不適合按小時、分鐘執行任務)。
假設你有一個計劃任務(例如備份腳本)要使用 cron 在每天半夜運行,也許你以及睡著,那時你的桌面/筆記型電腦已經關機。你的備份腳本就不會被執行。
然而,如果你使用 anacron,你可以確保在下次開啟桌面/筆記型電腦的時候,備份腳本會被執行。
anacron 如何在 Linux 工作anacron 任務被列在 /etc/anacrontab 中,任務可以使用下面的格式(anacron 檔案中的註解必須以 # 號開始)安排。
period delay job-identifier command
從上面的格式:
要瀏覽範例文件,輸入:
$ 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
這是實際發生的:
现在让我们看一个例子。这个会每天运行 /home/aaronkilik/bin/backup.sh 脚本:
@daily 10 example.daily /bin/bash /home/aaronkilik/bin/backup.sh
当机器在 backup.sh 期望被运行时是关机的,anacron 会在机器开机十分钟之后运行它,而不用再等待 7 天。
这里有两个你应该理解的 anacrontab 文件的重要变量:
这是你的 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 的比较,帮助你理解何时用他们其中一个。
cron | anacron |
---|---|
它是守护进程 | 它不是守护进程 |
适合服务器 | 适合桌面/笔记本电脑 |
可以让你以分钟级运行计划任务 | 只能让你以天为基础来运行计划任务 |
关机时不会执行计划任务 | 如果计划任务到期,机器是关机的,那么它会在机器下次开机后执行计划任务 |
普通用户和 root 用户都可以使用 | 只有 root 用户可以使用(使用特定的配置启动普通任务) |
cron 和 anacron 主要的區別在於 cron 能在那些持續運行的機器上有效地運行,而 anacron 是針對那些會在一天內或一周內會關機的機器。
如果你還知道其他方式,請在評論欄中與我們分享。
原文網址: https://www.tecmint.com/cron-vs-anacron-schedule-jobs-using-anacron-on-linux/
本文網址: https://www.linuxprobe.com/cron-anacron-work.html 編輯:張雄,審核者:逄增寶
本文原始網址:https://www.linuxprobe.com/cron-anacron-work.html編輯:問題終結者,審核員:暫無
以上是學習如何在Linux中配置計劃任務:使用cron和anacron的詳細內容。更多資訊請關注PHP中文網其他相關文章!