如何在 Linux 上運(yùn)行和管理 Cron 作業(yè)

yanding 2023-07-23 427

自動(dòng)執(zhí)行備份作業(yè)、目錄清理、報(bào)告等。

Cron 作業(yè)在后臺(tái)運(yùn)行,并/etc/crontab連續(xù)檢查文件/etc/cron.*//var/spool/cron/ . 文件夾。Cron 文件不應(yīng)直接編輯,每個(gè)用戶都有一個(gè)唯一的 crontab。

那么應(yīng)該如何運(yùn)行和更新 cron 作業(yè)呢?在 crontab 命令中。Crontab 是用于創(chuàng)建、編輯、提交、卸載和記錄 cron 作業(yè)的平臺(tái)。

創(chuàng)建和編輯 cron 作業(yè)的命令既方便又簡(jiǎn)單。更酷的是,您不必在創(chuàng)建新文件或編輯現(xiàn)有文件后重新啟動(dòng) cron。

$crontab -e

Cron 字典

與任何語(yǔ)言一樣,如果您了解 cron 的語(yǔ)法,那么使用 cron 就會(huì)非常容易,并且您需要了解以下兩個(gè)功能:

ABCDE 用戶名 /路徑/到/命令 arg1 arg2或者ABCDE 用戶名 /root/backup.sh

上述cron語(yǔ)法說(shuō)明:


  • 答:范圍:0 – 59 分鐘

  • B:范圍:0 – 23 小時(shí)

  • C:天數(shù)范圍:0 – 31 天

  • D:范圍:0 – 12 個(gè)月

  • E:一周中的天數(shù)范圍:0 – 7。從周一開(kāi)始,0 或 7 代表周日

  • USERNAME:將其替換為您的用戶名

  • /path/to/command – 您要編程的腳本或命令的名稱


這還不是全部。Cron 使用 3 個(gè)工具提示允許您在一個(gè)字段中指定多個(gè)值:


  1. Star (*):指定字段的所有可能值

  2. 賦值(,):指定值列表

  3. 破折號(hào)(-):指定值的范圍

  4. 分隔符(/):指定步長(zhǎng)值


現(xiàn)在您已經(jīng)了解了 Cron 語(yǔ)法和功能,讓我們看一些 cron 示例。

Cron 作業(yè)示例

運(yùn)行 cron 命令的第一步是使用以下命令安裝 crontab:

# crontab -e

/root/backup.sh每天凌晨 3 點(diǎn)運(yùn)行:

0 3 * * * /root/backup.sh

script.sh每月第二天下午 4:30運(yùn)行:

30 16 2 * * /path/to/script.sh

/scripts/phpscript.php一周中晚上 10 點(diǎn)運(yùn)行:

0 22 * * 1-5 /scripts/phpscript.php

每天午夜后、凌晨 2 點(diǎn)和 4 點(diǎn)運(yùn)行perlscript.pl23 分鐘:

23 0-23/2 * * * /path/to/perlscript.pl

每周日 04:05 運(yùn)行 Linux 命令:

5 4 * * 那是/path/to/linuxcommand

計(jì)劃任務(wù)選項(xiàng)

列出 cron 作業(yè)。

# crontab -l或者# crontab -u 用戶名 -l

刪除所有 crontab 作業(yè)。

# crontab -r

刪除特定用戶的 Cron 作業(yè)。

# crontab -r -u 用戶名

Crontab 中的線程

字符串是開(kāi)發(fā)人員的最愛(ài)之一,因?yàn)樗鼈兺ㄟ^(guò)消除重復(fù)文本來(lái)幫助節(jié)省時(shí)間。Cron 有特殊的線程,您可以使用它來(lái)更快地運(yùn)行命令:


  1. @ga?o?o ?esia?e:每小時(shí)運(yùn)行一次,即“0 * * * *”

  2. @midnight:每天運(yùn)行一次,即“0 0 * * *”

  3. @gbesiagbe: 半夜左右

  4. @kwasi?a sia kwasi?a:每周運(yùn)行一次,即“0 0 * * 0”

  5. @?leti sia ?leti:每月運(yùn)行一次,即“0 0 1 * *”

  6. @?e sia ?e:每年運(yùn)行一次,即“0 0 1 1 *”

  7. @?e sia ?e:作為@yearly

  8. @reboot:每次啟動(dòng)運(yùn)行一次


例如,以下是每天備份計(jì)算機(jī)的方法:

@daily/path/to/backup/script.sh

在這里,您擁有使用 Cron 運(yùn)行和管理系統(tǒng)任務(wù)所需的一切。現(xiàn)在,您可以開(kāi)始使用協(xié)商命令設(shè)置和管理多個(gè)環(huán)境。

您有多少個(gè) cron 用戶?您可以添加任何細(xì)節(jié)嗎?討論框如下。

如果您非常了解 Crontab 的工作原理,則可以使用這些漂亮的 Crontab 生成器實(shí)用程序免費(fèi)生成 crontab 行。

另外,您可以在此處閱讀 Ubuntu 有關(guān)如何使用 Cron 的文章。它包含您可能會(huì)覺(jué)得有用的功能。

言鼎科技

The End