如何使用Linux的anacron命令

這篇文章主要講解了“如何使用Linux的anacron命令”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何使用Linux的anacron命令”吧!

成都創(chuàng)新互聯(lián)于2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元尼開遠(yuǎn)做網(wǎng)站,已為上家服務(wù),為尼開遠(yuǎn)各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

為自動(dòng)化做準(zhǔn)備

“自動(dòng)化”這個(gè)詞既讓人望而生畏,又讓人心動(dòng)。我發(fā)現(xiàn)用模塊化的方式來處理它是有幫助的。

1、你想實(shí)現(xiàn)什么?

首先,要知道你想產(chǎn)生什么結(jié)果。你是要給圖片加水印嗎?從雜亂的目錄中刪除文件?執(zhí)行重要數(shù)據(jù)的備份?為自己明確定義任務(wù),這樣你就知道自己的目標(biāo)是什么。如果有什么任務(wù)是你發(fā)現(xiàn)自己每天都在做的,甚至一天一次以上,那么它可能是自動(dòng)化的候選者。

2、學(xué)習(xí)你需要的應(yīng)用

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

3、自動(dòng)化

在 Linux 上使用一個(gè)自動(dòng)化工具來定期實(shí)現(xiàn)它。這就是本文介紹的步驟!

要想自動(dòng)化一些東西,你需要一個(gè)腳本來自動(dòng)化一個(gè)任務(wù)。在測(cè)試時(shí),最好保持簡(jiǎn)單,所以本文自動(dòng)化的任務(wù)是在 /tmp 目錄下創(chuàng)建一個(gè)名為 hello 的文件。

#!/bin/sh touch /tmp/hello

將這個(gè)簡(jiǎn)單的腳本復(fù)制并粘貼到一個(gè)文本文件中,并將其命名為 example。

Cron

每個(gè)安裝好的 Linux 系統(tǒng)都會(huì)有的內(nèi)置自動(dòng)化解決方案就是 cron 系統(tǒng)。Linux 用戶往往把 cron 籠統(tǒng)地稱為你用來安排任務(wù)的方法(通常稱為 “cron 作業(yè)”),但有多個(gè)應(yīng)用程序可以提供 cron 的功能。最通用的是 cronie;它的優(yōu)點(diǎn)是,它不會(huì)像歷史上為系統(tǒng)管理員設(shè)計(jì)的 cron 應(yīng)用程序那樣,假設(shè)你的計(jì)算機(jī)總是開著。

驗(yàn)證你的 Linux 發(fā)行版提供的是哪個(gè) cron 系統(tǒng)。如果不是 cronie,你可以從發(fā)行版的軟件倉(cāng)庫(kù)中安裝 cronie。如果你的發(fā)行版沒有 cronie 的軟件包,你可以使用舊的 anacron 軟件包來代替。anacron 命令是包含在 cronie 中的,所以不管你是如何獲得它的,你都要確保在你的系統(tǒng)上有 anacron 命令,然后再繼續(xù)。anacron 可能需要管理員 root 權(quán)限,這取決于你的設(shè)置。

$ which anacron/usr/sbin/anacron

anacron 的工作是確保你的自動(dòng)化作業(yè)定期執(zhí)行。為了做到這一點(diǎn),anacron 會(huì)檢查找出最后一次運(yùn)行作業(yè)的時(shí)間,然后檢查你告訴它運(yùn)行作業(yè)的頻率。

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

Cron 作業(yè)

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

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

你可以把任何你想定期運(yùn)行的腳本放到 ~/.local/etc/cron.daily 目錄中?,F(xiàn)在把 example 腳本復(fù)制到目錄中,然后 用 chmod 命令使其可執(zhí)行。

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

接下來,設(shè)置 anacron 來運(yùn)行位于 ~/.local/etc/cron.daily 目錄下的任何腳本。

anacron

默認(rèn)情況下,cron 系統(tǒng)的大部分內(nèi)容都被認(rèn)為是系統(tǒng)管理員的領(lǐng)域,因?yàn)樗ǔS糜谥匾牡讓尤蝿?wù),如輪換日志文件和更新證書。本文演示的配置是為普通用戶設(shè)置個(gè)人自動(dòng)化任務(wù)而設(shè)計(jì)的。

要配置 anacron 來運(yùn)行你的 cron 作業(yè),請(qǐng)?jiān)?nbsp;/.local/etc/anacrontab 創(chuàng)建一個(gè)配置文件:

SHELL=/bin/shPATH=/sbin:/bin:/usr/sbin:/usr/bin1  0  cron.mine    run-parts /home/tux/.local/etc/cron.daily/

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

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

驗(yàn)證你的 anacrontab 文件的語法:

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

沉默意味著成功。

在 .profile 中添加 anacron

最后,你必須確保 anacron 以你的本地配置運(yùn)行。因?yàn)槟闶且云胀ㄓ脩舳皇?root 用戶的身份運(yùn)行 anacron,所以你必須將它引導(dǎo)到你的本地配置:告訴 anacron 要做什么的 anacrontab 文件,以及幫助 anacron 跟蹤每一個(gè)作業(yè)最后一次執(zhí)行是多少天的 spool 目錄:

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

-fn 選項(xiàng)告訴 anacron 忽略 時(shí)間戳,這意味著你強(qiáng)迫它無論如何都要運(yùn)行你的 cron 作業(yè)。這完全是為了測(cè)試的目的。

測(cè)試你的 cron 作業(yè)

現(xiàn)在一切都設(shè)置好了,你可以測(cè)試作業(yè)了。從技術(shù)上講,你可以在不重啟的情況下進(jìn)行測(cè)試,但重啟是最有意義的,因?yàn)檫@就是設(shè)計(jì)用來處理中斷和不規(guī)則的登錄會(huì)話的?;c(diǎn)時(shí)間重啟電腦、登錄,然后尋找測(cè)試文件:

$ ls /tmp/hello/tmp/hello

假設(shè)文件存在,那么你的示例腳本已經(jīng)成功執(zhí)行?,F(xiàn)在你可以從 ~/.profile 中刪除測(cè)試選項(xiàng),留下這個(gè)作為你的最終配置。

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

使用 anacron

你已經(jīng)配置好了你的個(gè)人自動(dòng)化基礎(chǔ)設(shè)施,所以你可以把任何你想讓你的計(jì)算機(jī)替你管理的腳本放到 ~/.local/etc/cron.daily 目錄下,它就會(huì)按計(jì)劃運(yùn)行。

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

要添加一個(gè)新的時(shí)間間隔:

  1. 在 ~/.local/etc 中添加一個(gè)目錄(例如 cron.weekly)。

  2. 在 ~/.local/etc/anacrontab 中添加一行,以便在新目錄下運(yùn)行腳本。對(duì)于每周一次的間隔,其配置如下。7 0 cron.mine run-parts /home/tux/.local/etc/cron.weekly/0 的值可以選擇一些分鐘數(shù),以適當(dāng)?shù)匮舆t腳本的啟動(dòng))。

  3. 把你的腳本放在 cron.weekly 目錄下。

感謝各位的閱讀,以上就是“如何使用Linux的anacron命令”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)如何使用Linux的anacron命令這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

新聞標(biāo)題:如何使用Linux的anacron命令
分享鏈接:http://muchs.cn/article12/jpgdgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)外貿(mào)網(wǎng)站建設(shè)、軟件開發(fā)虛擬主機(jī)、網(wǎng)站營(yíng)銷App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)