日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
使用cron調(diào)度任務

cron 是一個調(diào)度守護進程,它以指定的時間間隔執(zhí)行任務,這些任務稱為 corn 作業(yè),主要用于自動執(zhí)行系統(tǒng)維護或管理任務。例如,你可以設置一個 cron 作業(yè)來自動執(zhí)行重復的任務,比如備份數(shù)據(jù)庫或數(shù)據(jù),使用最新的安全補丁更新系統(tǒng),檢查磁盤空間使用情況,發(fā)送電子郵件等等。 cron 作業(yè)可以按分鐘、小時、日、月、星期或它們的任意組合運行。

創(chuàng)新互聯(lián)是一家專業(yè)提供嘉祥企業(yè)網(wǎng)站建設,專注與網(wǎng)站設計制作、成都網(wǎng)站制作、成都h5網(wǎng)站建設、小程序制作等業(yè)務。10年已為嘉祥眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡公司優(yōu)惠進行中。

cron 的一些優(yōu)點

以下是使用 cron 作業(yè)的一些優(yōu)點:

  • 你可以更好地控制作業(yè)的運行時間。例如,你可以精確到分鐘、小時、天等。
  • 它消除了為循環(huán)任務邏輯而去寫代碼的需要,當你不再需要執(zhí)行任務時,可以直接關閉它。
  • 作業(yè)在不執(zhí)行時不會占用內(nèi)存,因此你可以節(jié)省內(nèi)存分配。
  • 如果一個作業(yè)執(zhí)行失敗并由于某種原因退出,它將在適當?shù)臅r間再次運行。

安裝 cron 守護進程

幸運的是,F(xiàn)edora Linux 預先配置了運行重要的系統(tǒng)任務來保持系統(tǒng)更新,有幾個實用程序可以運行任務例如 cron、anacron、at 和 batch 。本文只關注 cron 實用程序的安裝。cron 和 cronie 包一起安裝,cronie 包也提供 cron 服務。

要確定軟件包是否已經(jīng)存在,使用 rpm 命令:

$ rpm -q cronie
 Cronie-1.5.2-4.el8.x86_64

如果安裝了 cronie ,它將返回 cronie 包的全名。如果你的系統(tǒng)中沒有安裝,則會顯示未安裝。

使用以下命令安裝:

$ dnf install cronie

運行 cron 守護進程

cron 作業(yè)由 crond 服務來執(zhí)行,它會讀取配置文件中的信息。在將作業(yè)添加到配置文件之前,必須啟動 crond 服務,或者安裝它。什么是 crond 呢?crond 是 cron 守護程序的簡稱。要確定 crond 服務是否正在運行,輸入以下命令:

$ 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…,你需要啟動 crond 守護進程。要在當前會話中運行 crond 服務,輸入以下命令:

$ systemctl run crond.service

將其配置為開機自啟動,輸入以下命令:

$ systemctl enable crond.service

如果出于某種原因,你希望停止 crond 服務,按以下方式使用 stop 命令:

$ systemctl stop crond.service

要重新啟動它,只需使用 restart 命令:

$ systemctl restart crond.service

定義一個 cron 作業(yè)

cron 配置

以下是一個 cron 作業(yè)的配置細節(jié)示例。它定義了一個簡單的 cron 作業(yè),將 git master 分支的最新更改拉取到克隆的倉庫中:

*/59 * * * * username cd /home/username/project/design && git pull origin master

主要有兩部分:

  • 第一部分是 */59 * * * *。這表明計時器設置為第 59 分鐘執(zhí)行一次。(LCTT 譯注:原文此處有誤。)
  • 該行的其余部分是命令,因為它將從命令行運行。 在此示例中,命令本身包含三個部分:
    • 作業(yè)將以用戶 username 的身份運行
    • 它將切換到目錄 /home/username/project/design
    • 運行 git 命令拉取 master 分支中的最新更改

時間語法

如上所述,時間信息是 cron 作業(yè)字符串的第一部分,如上所屬。它決定了 cron 作業(yè)運行的頻率和時間。它按以下順序包括 5 個部分:

  • 分鐘
  • 小時
  • 一個月中的某天
  • 月份
  • 一周中的某天

下面是一種更圖形化的方式來解釋語法:

  .--------------- 分鐘 (0 - 59)
 |  .------------- 小時 (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 

星號的使用

星號(*)可以用來替代數(shù)字,表示該位置的所有可能值。例如,分鐘位置上的星號會使它每分鐘運行一次。以下示例可能有助于更好地理解語法。

這個 cron 作業(yè)將每分鐘運行一次:

* * * * [command]

斜杠表示分鐘的間隔數(shù)。下面的示例將每小時運行 12 次,即每 5 分鐘運行一次:

*/5 * * * * [command]

下一個示例將每月的第二天午夜(例如 1 月 2 日凌晨 12:00,2 月 2 日凌晨 12:00 等等):

0 0 2 * * [command]

(LCTT 譯注:關于 cron 時間格式,還有更多格式符號,此處沒有展開)

使用 crontab 創(chuàng)建一個 cron 作業(yè)

cron 作業(yè)會在后臺運行,它會不斷檢查 /etc/crontab 文件和 /etc/cron.*/ 以及 /var/spool/cron/ 目錄。每個用戶在 /var/spool/cron/ 中都有一個唯一的 crontab 文件。

不應該直接編輯這些 cron 文件。crontab 命令是用于創(chuàng)建、編輯、安裝、卸載和列出 cron 作業(yè)的方法。

更酷的是,在創(chuàng)建新文件或編輯現(xiàn)有文件后,你無需重新啟動 cron。

$ crontab -e

這將打開你現(xiàn)有的 crontab 文件,或者創(chuàng)建一個。調(diào)用 crontab -e 時,默認情況下會使用 vi 編輯器。注意:要使用 Nano 編輯 crontab 文件,可以設置 EDITOR=nano 環(huán)境變量。

使用 -l 選項列出所有 cron 作業(yè)。如果需要,使用 -u 選項指定一個用戶。

$ crontab -l
$ crontab -u username -l

使用以下命令刪除所有 cron 作業(yè):

$ crontab -r

要刪除特定用戶的作業(yè),你必須以 root 用戶身份運行以下命令:

$ crontab -r -u username

感謝你的閱讀。cron 作業(yè)看起來可能只是系統(tǒng)管理員的工具,但它實際上與許多 Web 應用程序和用戶任務有關。

參考

Fedora Linux 文檔的 自動化任務



網(wǎng)頁名稱:使用cron調(diào)度任務
文章網(wǎng)址:http://m.5511xx.com/article/cojggpp.html