中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux中如何使用anacron命令

發布時間:2022-02-18 13:46:11 來源:億速云 閱讀:259 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關linux中如何使用anacron命令的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

anacron是一種異步的定時任務調度器,大家都知道cron是Linux系統下的定時任務調度器,可以實現異步的任務調度。對于24小時開機運行的服務器可能用不到這種東西,但是非24小時開機,又想定時運行任務的機器還是十分有用的,可以實現異步的調用。

linux中如何使用anacron命令

為自動化做準備

“自動化”這個詞既讓人望而生畏,又讓人心動。我發現用模塊化的方式來處理它是有幫助的。

1、你想實現什么?

首先,要知道你想產生什么結果。你是要給圖片加水印嗎?從雜亂的目錄中刪除文件?執行重要數據的備份?為自己明確定義任務,這樣你就知道自己的目標是什么。如果有什么任務是你發現自己每天都在做的,甚至一天一次以上,那么它可能是自動化的候選者。

2、學習你需要的應用

將大的任務分解成小的組件,并學習如何手動但以可重復和可預測的方式產生每個結果。在 Linux 上可以做的很多事情都可以用腳本來完成,但重要的是要認識到你當前的局限性。學習如何自動調整幾張圖片的大小,以便可以方便地通過電子郵件發送,與使用機器學習為你的每周通訊生成精心制作的藝術品之間有天壤之別。有的事你可以在一個下午學會,而另一件事可能要花上幾年時間。然而,我們都必須從某個地方開始,所以只要從小做起,并時刻注意改進的方法。

3、自動化

在 Linux 上使用一個自動化工具來定期實現它。這就是本文介紹的步驟! 要想自動化一些東西,你需要一個腳本來自動化一個任務。在測試時,最好保持簡單,所以本文自動化的任務是在 /tmp 目錄下創建一個名為 hello 的文件。

#!/bin/shtouch /tmp/hello

將這個簡單的腳本復制并粘貼到一個文本文件中,并將其命名為example。

Cron

每個安裝好的 Linux 系統都會有的內置自動化解決方案就是 cron 系統。Linux 用戶往往把 cron 籠統地稱為你用來安排任務的方法(通常稱為 “cron 作業”),但有多個應用程序可以提供 cron 的功能。最通用的是 cronie;它的優點是,它不會像歷史上為系統管理員設計的 cron 應用程序那樣,假設你的計算機總是開著。

驗證你的 Linux 發行版提供的是哪個 cron 系統。如果不是 cronie,你可以從發行版的軟件倉庫中安裝 cronie。如果你的發行版沒有 cronie 的軟件包,你可以使用舊的 anacron 軟件包來代替。anacron 命令是包含在 cronie 中的,所以不管你是如何獲得它的,你都要確保在你的系統上有 anacron 命令,然后再繼續。anacron 可能需要管理員 root 權限,這取決于你的設置。

$ which anacron
/usr/sbin/anacron

anacron 的工作是確保你的自動化作業定期執行。為了做到這一點,anacron 會檢查找出最后一次運行作業的時間,然后檢查你告訴它運行作業的頻率。

假設你將 anacron 設置為每五天運行一次腳本。每次你打開電腦或從睡眠中喚醒電腦時,anacron都會掃描其日志以確定是否需要運行作業。如果一個作業在五天或更久之前運行,那么 anacron 就會運行該作業。

Cron 作業

許多 Linux 系統都捆綁了一些維護工作,讓 cron 來執行。我喜歡把我的工作與系統工作分開,所以我在我的主目錄中創建了一個目錄。具體來說,有一個叫做 ~/.local 的隱藏文件夾(“local” 的意思是它是為你的用戶賬戶定制的,而不是為你的“全局”計算機系統定制的),所以我創建了子目錄 etc/cron.daily 來作為 cron 在我的系統上的家目錄。你還必須創建一個 spool 目錄來跟蹤上次運行作業的時間。

$ mkdir -p ~/.local/etc/cron.daily ~/.var/spool/anacron

你可以把任何你想定期運行的腳本放到 ~/.local/etc/cron.daily 目錄中。現在把 example 腳本復制到目錄中,然后 用 chmod 命令使其可執行。

$ cp example ~/.local/etc/cron.daily# chmod +x ~/.local/etc/cron.daily/example

接下來,設置 anacron 來運行位于 ~/.local/etc/cron.daily 目錄下的任何腳本。

anacron

默認情況下,cron 系統的大部分內容都被認為是系統管理員的領域,因為它通常用于重要的底層任務,如輪換日志文件和更新證書。本文演示的配置是為普通用戶設置個人自動化任務而設計的。

要配置 anacron 來運行你的 cron 作業,請在 /.local/etc/anacrontab 創建一個配置文件:

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
1  0  cron.mine    run-parts /home/tux/.local/etc/cron.daily/

這個文件告訴 anacron 每到新的一天(也就是每日),延遲 0 分鐘后,就運行(run-parts)所有在 ~/.local/etc/cron.daily 中找到的可執行腳本。有時,會使用幾分鐘的延遲,這樣你的計算機就不會在你登錄后就被所有可能的任務沖擊。不過這個設置適合測試。

cron.mine 值是進程的一個任意名稱。我稱它為 cron.mine,但你也可以稱它為 cron.personal 或 penguin 或任何你想要的名字。

驗證你的 anacrontab 文件的語法:

$ anacron -T -t ~/.local/etc/anacrontab \
-S /home/tux/.var/spool/anacron

沉默意味著成功。

在 .profile 中添加 anacron

最后,你必須確保 anacron 以你的本地配置運行。因為你是以普通用戶而不是 root 用戶的身份運行 anacron,所以你必須將它引導到你的本地配置:告訴 anacron 要做什么的 anacrontab 文件,以及幫助 anacron 跟蹤每一個作業最后一次執行是多少天的 spool 目錄:

anacron -fn -t /home/tux/.local/etc/anacrontab \
-S /home/tux/.var/spool/anacron

-fn選項告訴 anacron忽略時間戳,這意味著你強迫它無論如何都要運行你的 cron 作業。這完全是為了測試的目的。

測試你的 cron 作業

現在一切都設置好了,你可以測試作業了。從技術上講,你可以在不重啟的情況下進行測試,但重啟是最有意義的,因為這就是設計用來處理中斷和不規則的登錄會話的。花點時間重啟電腦、登錄,然后尋找測試文件:

$ ls /tmp/hello
/tmp/hello

假設文件存在,那么你的示例腳本已經成功執行。現在你可以從 ~/.profile 中刪除測試選項,留下這個作為你的最終配置。

anacron -t /home/tux/.local/etc/anacrontab \
-S /home/tux/.var/spool/anacron

使用 anacron

你已經配置好了你的個人自動化基礎設施,所以你可以把任何你想讓你的計算機替你管理的腳本放到 ~/.local/etc/cron.daily 目錄下,它就會按計劃運行。

這取決于你希望作業運行的頻率。示例腳本是每天執行一次。很明顯,這取決于你的計算機在任何一天是否開機和醒著。如果你在周五使用電腦,但把它設置在周末,腳本就不會在周六和周日運行。然而,在周一,腳本會執行,因為 anacron 會知道至少有一天已經過去了。你可以在 ~/.local/etc 中添加每周、每兩周、甚至每月的目錄,以安排各種各樣的間隔。

要添加一個新的時間間隔:

在 ~/.local/etc 中添加一個目錄(例如 cron.weekly)。
在 ~/.local/etc/anacrontab 中添加一行,以便在新目錄下運行腳本。對于每周一次的間隔,其配置如下。7 0 cron.mine run-parts /home/tux/.local/etc/cron.weekly/(0 的值可以選擇一些分鐘數,以適當地延遲腳本的啟動)。
把你的腳本放在 cron.weekly 目錄下。

感謝各位的閱讀!關于“linux中如何使用anacron命令”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

托克托县| 苏尼特左旗| 东乌珠穆沁旗| 措勤县| 白山市| 沙洋县| 喀喇| 红原县| 科技| 甘泉县| 赣州市| 白山市| 吉隆县| 乌海市| 简阳市| 柳林县| 新沂市| 开平市| 曲麻莱县| 深泽县| 汉沽区| 鸡西市| 五常市| 湖州市| 临清市| 进贤县| 长垣县| 通榆县| 盐源县| 丹阳市| 汾阳市| 博白县| 政和县| 库车县| 都匀市| 宜春市| 甘德县| 林州市| 读书| 滨海县| 桂林市|