這篇文章主要介紹“使用cron調(diào)度任務(wù)的方法”,在日常操作中,相信很多人在使用cron調(diào)度任務(wù)的方法問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”使用cron調(diào)度任務(wù)的方法”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
在長(zhǎng)葛等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),全網(wǎng)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站制作,長(zhǎng)葛網(wǎng)站建設(shè)費(fèi)用合理。
cron 是一個(gè)調(diào)度守護(hù)進(jìn)程,它以指定的時(shí)間間隔執(zhí)行任務(wù),這些任務(wù)稱為 corn 作業(yè),主要用于自動(dòng)執(zhí)行系統(tǒng)維護(hù)或管理任務(wù)。例如,你可以設(shè)置一個(gè) cron 作業(yè)來自動(dòng)執(zhí)行重復(fù)的任務(wù),比如備份數(shù)據(jù)庫或數(shù)據(jù),使用最新的安全補(bǔ)丁更新系統(tǒng),檢查磁盤空間使用情況,發(fā)送電子郵件等等。 cron 作業(yè)可以按分鐘、小時(shí)、日、月、星期或它們的任意組合運(yùn)行。
以下是使用 cron 作業(yè)的一些優(yōu)點(diǎn):
你可以更好地控制作業(yè)的運(yùn)行時(shí)間。例如,你可以精確到分鐘、小時(shí)、天等。
它消除了為循環(huán)任務(wù)邏輯而去寫代碼的需要,當(dāng)你不再需要執(zhí)行任務(wù)時(shí),可以直接關(guān)閉它。
作業(yè)在不執(zhí)行時(shí)不會(huì)占用內(nèi)存,因此你可以節(jié)省內(nèi)存分配。
如果一個(gè)作業(yè)執(zhí)行失敗并由于某種原因退出,它將在適當(dāng)?shù)臅r(shí)間再次運(yùn)行。
幸運(yùn)的是,F(xiàn)edora Linux 預(yù)先配置了運(yùn)行重要的系統(tǒng)任務(wù)來保持系統(tǒng)更新,有幾個(gè)實(shí)用程序可以運(yùn)行任務(wù)例如 cron、anacron
、at
和 batch
。本文只關(guān)注 cron 實(shí)用程序的安裝。cron 和 cronie 包一起安裝,cronie 包也提供 cron
服務(wù)。
要確定軟件包是否已經(jīng)存在,使用 rpm
命令:
$ rpm -q cronie Cronie-1.5.2-4.el8.x86_64
如果安裝了 cronie ,它將返回 cronie 包的全名。如果你的系統(tǒng)中沒有安裝,則會(huì)顯示未安裝。
使用以下命令安裝:
$ dnf install cronie
cron 作業(yè)由 crond 服務(wù)來執(zhí)行,它會(huì)讀取配置文件中的信息。在將作業(yè)添加到配置文件之前,必須啟動(dòng) crond 服務(wù),或者安裝它。什么是 crond 呢?crond 是 cron 守護(hù)程序的簡(jiǎn)稱。要確定 crond 服務(wù)是否正在運(yùn)行,輸入以下命令:
$ systemctl status crond.service● crond.service - Command Scheduler Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor pre> Active: active (running) since Sat 2021-03-20 14:12:35 PDT; 1 day 21h ago Main PID: 1110 (crond)
如果你沒有看到類似的內(nèi)容 Active: active (running) since…
,你需要啟動(dòng) crond 守護(hù)進(jìn)程。要在當(dāng)前會(huì)話中運(yùn)行 crond 服務(wù),輸入以下命令:
$ systemctl run crond.service
將其配置為開機(jī)自啟動(dòng),輸入以下命令:
$ systemctl enable crond.service
如果出于某種原因,你希望停止 crond 服務(wù),按以下方式使用 stop
命令:
$ systemctl stop crond.service
要重新啟動(dòng)它,只需使用 restart
命令:
$ systemctl restart crond.service
以下是一個(gè) cron 作業(yè)的配置細(xì)節(jié)示例。它定義了一個(gè)簡(jiǎn)單的 cron 作業(yè),將 git
master 分支的最新更改拉取到克隆的倉庫中:
*/59 * * * * username cd /home/username/project/design && git pull origin master
主要有兩部分:
第一部分是 */59 * * * *
。這表明計(jì)時(shí)器設(shè)置為第 59 分鐘執(zhí)行一次。(LCTT 譯注:原文此處有誤。)
該行的其余部分是命令,因?yàn)樗鼘拿钚羞\(yùn)行。 在此示例中,命令本身包含三個(gè)部分:
作業(yè)將以用戶 username
的身份運(yùn)行
它將切換到目錄 /home/username/project/design
運(yùn)行 git
命令拉取 master 分支中的最新更改
如上所述,時(shí)間信息是 cron 作業(yè)字符串的第一部分,如上所屬。它決定了 cron 作業(yè)運(yùn)行的頻率和時(shí)間。它按以下順序包括 5 個(gè)部分:
分鐘
小時(shí)
一個(gè)月中的某天
月份
一周中的某天
下面是一種更圖形化的方式來解釋語法:
.--------------- 分鐘 (0 - 59) | .------------- 小時(shí) (0 - 23) | | .---------- 一月中的某天 (1 - 31) | | | .------- 月份 (1 - 12) 或 jan、feb、mar、apr … | | | | .---- 一周中的某天 (0-6) (周日=0 或 7) | | | | | 或 sun、mon、tue、wed、thr、fri、sat | | | | | * * * * * user-name command-to-be-executed
星號(hào)(*
)可以用來替代數(shù)字,表示該位置的所有可能值。例如,分鐘位置上的星號(hào)會(huì)使它每分鐘運(yùn)行一次。以下示例可能有助于更好地理解語法。
這個(gè) cron 作業(yè)將每分鐘運(yùn)行一次:
* * * * [command]
斜杠表示分鐘的間隔數(shù)。下面的示例將每小時(shí)運(yùn)行 12 次,即每 5 分鐘運(yùn)行一次:
*/5 * * * * [command]
下一個(gè)示例將每月的第二天午夜(例如 1 月 2 日凌晨 12:00,2 月 2 日凌晨 12:00 等等):
0 0 2 * * [command]
(LCTT 譯注:關(guān)于 cron 時(shí)間格式,還有更多格式符號(hào),此處沒有展開)
cron 作業(yè)會(huì)在后臺(tái)運(yùn)行,它會(huì)不斷檢查 /etc/crontab
文件和 /etc/cron.*/
以及 /var/spool/cron/
目錄。每個(gè)用戶在 /var/spool/cron/
中都有一個(gè)唯一的 crontab 文件。
不應(yīng)該直接編輯這些 cron 文件。crontab
命令是用于創(chuàng)建、編輯、安裝、卸載和列出 cron 作業(yè)的方法。
更酷的是,在創(chuàng)建新文件或編輯現(xiàn)有文件后,你無需重新啟動(dòng) cron。
$ crontab -e
這將打開你現(xiàn)有的 crontab 文件,或者創(chuàng)建一個(gè)。調(diào)用 crontab -e
時(shí),默認(rèn)情況下會(huì)使用 vi
編輯器。注意:要使用 Nano 編輯 crontab 文件,可以設(shè)置 EDITOR=nano
環(huán)境變量。
使用 -l
選項(xiàng)列出所有 cron 作業(yè)。如果需要,使用 -u
選項(xiàng)指定一個(gè)用戶。
$ crontab -l$ crontab -u username -l
使用以下命令刪除所有 cron 作業(yè):
$ crontab -r
要?jiǎng)h除特定用戶的作業(yè),你必須以 root 用戶身份運(yùn)行以下命令:
$ crontab -r -u username
感謝你的閱讀。cron 作業(yè)看起來可能只是系統(tǒng)管理員的工具,但它實(shí)際上與許多 Web 應(yīng)用程序和用戶任務(wù)有關(guān)。
到此,關(guān)于“使用cron調(diào)度任務(wù)的方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
當(dāng)前名稱:使用cron調(diào)度任務(wù)的方法
當(dāng)前URL:http://www.rwnh.cn/article2/igisic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、ChatGPT、外貿(mào)網(wǎng)站建設(shè)、電子商務(wù)、網(wǎng)站營(yíng)銷、靜態(tài)網(wǎng)站
聲明:本網(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)