我們正在製作一份適用於 Linux 的軟件和工具列表,用作七大罪清單的指南。 和之前的文章一樣,我們以懶惰為藉口 談談 Linux 中的自動化工具。 其中之一在 anachron。 在本文中,我們將了解 anacrontab 的配置。 anacrontab 是告訴 anacron 做什麼和什麼時候做的那個。
在 anacron 中,任務的日期以天為單位固定,並且,如果計算機在執行任務時沒有運行,它會在啟動時啟動。
anacrontab 配置
最初 anacron 在目錄中查找要執行的任務列表 /etc/anacrontab
. 作業應按以下格式編寫:
período retraso identificador del trabajo comando donde:
- 期: 工作必須執行的頻率。 它可以用天(英文縮寫)表示(@daily、@weekly 或 @monthly 表示日、週或月)或數字(1 表示天,7 表示週,30 表示月,任意數字表示任意天數。
- 延遲: 開始作業前等待的時間。 比如360早上6點執行一個任務。
- 工作標識符:分配給作業的名稱,以將其與錯誤和結果報告中的其他作業區分開來
- 命令: anacron 必須在指定時刻執行的指令。
.
由於我們的目的是將 anacron 用於與系統管理無關的任務, 我們將在本地用戶文件夾中復制 cron 使用的目錄。 我們這樣做
mkdir -p ~/.local/etc/anacrontab: ~/.local/etc/cron.daily ~/.local/etc/cron.weekly ~/.local/etc/cron.daily ~/.var/spool/anacron
有了這個,我們創建了目錄來保存不同的每日、每周和每月腳本,以及將保存最後一次執行 anacron 的報告的位置。
最後,我們告訴 anacron 使用我們的本地用戶文件夾而不是系統文件夾。
anacron -fn -t ~/.local/etc/anacrontab -S ~/.var/spool/anacron
現在我們要編輯一個配置文件。 我們從終端執行此操作:
nano ~/.local/etc/anacrontab:
在打開的文檔中,我們添加以下行:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
這些行實現了我們已經為 crontab 解釋過的相同功能。 指示您應該使用 Bash 作為命令解釋器以及在哪些目錄中可以找到可執行文件。 我們保存文檔 五月 + 0 我們用 Shift + X。
我們創建的 cron 文件夾的名稱和位置是任意選擇. 我選擇保留默認值,以免使需要其他來源的額外信息的讀者感到困惑。 只要在 acrontab 中指明了腳本的路徑,就可以使用首選文件夾和存儲路徑。 作業標識符也是如此。
我們可以配置另外兩個變量:
- 開始_HOURS_RANGE
- 隨機延遲
:設置作業開始的時間範圍(即僅在接下來的幾個小時內運行作業)。
:這定義了添加到用戶定義的作業延遲的最大隨機延遲(默認為 45)。
cron 和 anacron 有什麼區別?
cron 在系統和衍生產品中被稱為 守護 即在後台運行且無需用戶干預的程序. 它適用於服務器,即幾乎永久工作而無需任何人注意的設備,但需要經常進行維護工作。
anacron 是一個正常的程序 更適合台式機 它們不是連續開啟的。 這就是為什麼不像 cron,其中最小的時間單位是分鐘,它以一天的最小頻率工作。
出於同樣的原因,cron 不包括在計算機未打開的情況下的替代方案。或者當 anacron 在登錄時處理待處理的任務時。 當它發現一個作業沒有在設定的時間開始時,它會在等待延遲字段中指定的分鐘數後執行命令字段中指定的命令。 然後它將日期記錄到時間戳文件中。