cron 在 Linux 設置html
cron - 是一個用於運行計劃任務如系統備份、更新等的守護進程。它適合在那些 24X7 不間斷運行的機器如服務器上運行的計劃任務。linux
命令/腳本被寫在 cron 任務腳本中,它是在crontab 文件中被安排的。系統默認的 cromtab 文件是/etc/crontab ,可是每一個用戶也能夠建立本身的 cromtab 文件來在特定時間運行用戶定義的命令。shell
要建立一份我的crontab 文件,只要輸入:bash
$ crontab -e
如何在 Linux 中設置 anacron服務器
anacron 用於以天爲單位的頻率運行命令。它的工做與 cron 稍有不一樣,它假設機器不會一直開機。ide
cron 也適合在那些不會 24X7 運行如筆記本以及桌面電腦的機器上運行每日、每週以及每個月的計劃任務(LCTT 譯註:不適合按小時、分鐘執行任務)。spa
假設你有一個計劃任務(好比備份腳本)要使用 cron 在天天半夜運行,也許你以及睡着,那時你的桌面/筆記本電腦已經關機。你的備份腳本就不會被運行。.net
然而,若是你使用 anacron,你能夠確保在你下次開啓桌面/筆記本電腦的時候,備份腳本會被執行。日誌
anacron 如何在 Linux 工做htm
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 是針對那些會在一天內或者一週內會關機的機器。
本文地址:http://www.linuxprobe.com/cron-anacron-work.html