日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

centos 上 crontab 计划任务 ,这个版本解释的比较清晰

發(fā)布時(shí)間:2025/4/9 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 centos 上 crontab 计划任务 ,这个版本解释的比较清晰 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這個(gè)版本的crontab命令解釋的很詳細(xì)

yum?install?vixie-cronyum?install?crontabs/bin/systemctl?restart?crond.service??#啟動(dòng)服務(wù)/bin/systemctl?reload??crond.service??#重新載入配置 /bin/systemctl?status??crond.service??#查看crontab服務(wù)狀態(tài)

補(bǔ)充:

1、crontab相關(guān)命令

功能說(shuō)明:設(shè)置計(jì)時(shí)器。

語(yǔ)  法:crontab [-u <用戶名稱>][配置文件] 或 crontab [-u <用戶名稱>][-elr]

補(bǔ)充說(shuō)明:cron是一個(gè)常駐服務(wù),它提供計(jì)時(shí)器的功能,讓用戶在特定的時(shí)間得以執(zhí)行預(yù)設(shè)的指令或程序。只要用戶會(huì)編輯計(jì)時(shí)器的配置文件,就可以使用計(jì)時(shí)器的功能。

配置文件格式:Minute Hour Day Month DayOFWeek Command

參  數(shù):?
-e  編輯該用戶的計(jì)時(shí)器設(shè)置。
-l  列出該用戶的計(jì)時(shí)器設(shè)置。
-r  刪除該用戶的計(jì)時(shí)器設(shè)置。
-u<用戶名稱>  指定要設(shè)定計(jì)時(shí)器的用戶名稱。

?

2、crontab 配置文件格式

  基本格式 :
* ? ? ?*   *  ?*  ?*  command
分  ?時(shí)  日  月  周  ?命令

第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時(shí)1~23(0表示0點(diǎn))
第3列表示日期1~31
第4列表示月份1~12
第5列標(biāo)識(shí)號(hào)星期0~6(0表示星期天)
第6列要運(yùn)行的命令

除了數(shù)字還有幾個(gè)個(gè)特殊的符號(hào)就是”*”、”/”和”-“、”,”,*代表所有的取值范圍內(nèi)的數(shù)字,”/”代表每的意思,”*/5″表示每5個(gè)單位,”-“代表從某個(gè)數(shù)字到某個(gè)數(shù)字,”,”分開(kāi)幾個(gè)離散的數(shù)字。

crontab文件的一些例子:

30?21?*?*?*?/usr/local/etc/rc.d/apache?restart??#每晚的21:30?重啟apache? 45?4?1,10,22?*?*?/usr/local/etc/rc.d/apache?restart??#每月1、10、22日的4?:?45重啟apache? 10?1?*?*?6,0?/usr/local/etc/rc.d/apache?restart?#每周六、周日的1?:?10重啟apache?? 0,30?18-23?*?*?*?/usr/local/etc/rc.d/apache?restart??#每天18?:?00至23?:?00之間每隔30分鐘重啟apache?? 0?23?*?*?6?/usr/local/etc/rc.d/apache?restart??#每星期六的11?:?00?pm重啟apache *?23-7/1?*?*?*?/usr/local/etc/rc.d/apache?restart??#晚上11點(diǎn)到早上7點(diǎn)之間,每隔一小時(shí)重啟??apache *?*/1?*?*?*?/usr/local/etc/rc.d/apache?restart??#每一小時(shí)重啟apache??? 0?11?4?*?mon-wed?/usr/local/etc/rc.d/apache?restart?#每月的4號(hào)與每周一到周三的11點(diǎn)重啟apache??? 0?4?1?jan?*?/usr/local/etc/rc.d/apache?restart??#一月一號(hào)的4點(diǎn)重啟apache?? */30?*?*?*?*?/usr/sbin/ntpdate?210.72.145.44??#每半小時(shí)同步一下時(shí)間? 0?*/2?*?*?*?www?/usr/bin/somecommand??>>??/dev/null?2>&1?#以用戶www的身份每?jī)尚r(shí)就運(yùn)行某個(gè)程序:

3、其他任務(wù)調(diào)度

cron默認(rèn)配置了調(diào)度任務(wù),分別為:hourly、daily、weekly、mouthly,默認(rèn)配置文件為/etc/anacrontab

將需要執(zhí)行的腳本放到相應(yīng)的目錄下即可,目錄分別為:

/etc/cron.hourly

/etc/cron.daily

/etc/cron.weekly

/ect/cron.mouthly

cron 的主配置文件是 /etc/crontab,它包括下面幾行:

SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ #?run-parts 01?*?*?*?*?root?run-parts?/etc/cron.hourly 02?4?*?*?*?root?run-parts?/etc/cron.daily 22?4?*?*?0?root?run-parts?/etc/cron.weekly 42?4?1?*?*?root?run-parts?/etc/cron.monthly

?

4. 關(guān)于cron配置文件/etc/crontab

cron 的主配置文件是 /etc/crontab,它包括下面幾行:

SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ #?run-parts 01?*?*?*?*?root?run-parts?/etc/cron.hourly 02?4?*?*?*?root?run-parts?/etc/cron.daily 22?4?*?*?0?root?run-parts?/etc/cron.weekly 42?4?1?*?*?root?run-parts?/etc/cron.monthly

前四行是用來(lái)配置 cron 任務(wù)運(yùn)行環(huán)境的變量:

Shell?變量的值指定shell 環(huán)境(此處默認(rèn)為 bash shell);PATH 變量定義用來(lái)執(zhí)行命令的程序路徑;cron 任務(wù)的輸出被郵寄給 MAILTO 變量定義的用戶名,如果 MAILTO 變量被定義為空白字符串(MAILTO=””),電子郵件就不會(huì)被寄出;HOME 變量可以用來(lái)設(shè)置在執(zhí)行命令或腳本時(shí)使用的主目錄。如在 /etc/crontab 文件中run-parts部分所示,它使用 run-parts 腳本來(lái)執(zhí)行存在于 /etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly 和 /etc/cron.monthly 目錄中的腳本,這些腳本被相應(yīng)地按照預(yù)設(shè)時(shí)間在每小時(shí)、每日、每周、或每月執(zhí)行。這些目錄中的文件應(yīng)該是 shell 腳本,并且具有可執(zhí)行權(quán)限(chmod +x filename)。

如果某 cron 任務(wù)需要根據(jù)調(diào)度來(lái)執(zhí)行,而不是每小時(shí)、每日、每周、或每月地執(zhí)行,它可以被添加到/etc/cron.d目錄中。該目錄中的所有文件使用和 /etc/crontab 中一樣的語(yǔ)法。

每次編輯完某個(gè)用戶的cron設(shè)置后,cron自動(dòng)在/var/spool/cron下生成一個(gè)與此用戶同名的文件,此用戶的cron信息都記錄在這個(gè)文件中,這個(gè)文件是不可以直接編輯的,只可以用crontab -e 來(lái)編輯。cron啟動(dòng)后每過(guò)一份鐘讀一次這個(gè)文件,檢查是否要執(zhí)行里面的命令。因此此文件修改后不需要重新啟動(dòng)cron服務(wù)。

如需轉(zhuǎn)載請(qǐng)注明:?轉(zhuǎn)載自26點(diǎn)的博客

本文鏈接地址:?centos 上 crontab 計(jì)劃任務(wù) ,這個(gè)版本解釋的比較清晰

?

?

為當(dāng)前用戶創(chuàng)建cron服務(wù)

1. ?鍵入 crontab? -e 編輯crontab服務(wù)文件

???? ?例如 文件內(nèi)容如下:

??? ?*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh?

???? 保存文件并并退出

?????*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh

?? ?*/2 * * * * 通過(guò)這段字段可以設(shè)定什么時(shí)候執(zhí)行腳本

????? /bin/sh /home/admin/jiaoben/buy/deleteFile.sh 這一字段可以設(shè)定你要執(zhí)行的腳本,這里要注意一下bin/sh 是指運(yùn)行? 腳本的命令? 后面一段時(shí)指腳本存放的路徑

?

?

2. 查看該用戶下的crontab服務(wù)是否創(chuàng)建成功, 用 crontab? -l 命令??

?

3. 啟動(dòng)crontab服務(wù)?

??????一般啟動(dòng)服務(wù)用? /sbin/service crond start 若是根用戶的cron服務(wù)可以用 sudo service crond start, 這里還是要注意? 下 不同版本Linux系統(tǒng)啟動(dòng)的服務(wù)的命令也不同 ,像我的虛擬機(jī)里只需用 sudo service cron restart 即可,若是在根用下直接鍵入service cron start就能啟動(dòng)服務(wù)

?

4. 查看服務(wù)是否已經(jīng)運(yùn)行用 ps -ax | grep cron?

5. crontab命令

???? ?cron服務(wù)提供crontab命令來(lái)設(shè)定cron服務(wù)的,以下是這個(gè)命令的一些參數(shù)與說(shuō)明:

??????? crontab -u //設(shè)定某個(gè)用戶的cron服務(wù),一般root用戶在執(zhí)行這個(gè)命令的時(shí)候需要此參數(shù)??
  crontab -l //列出某個(gè)用戶cron服務(wù)的詳細(xì)內(nèi)容
  crontab -r //刪除沒(méi)個(gè)用戶的cron服務(wù)
  crontab -e //編輯某個(gè)用戶的cron服務(wù)
  比如說(shuō)root查看自己的cron設(shè)置:crontab -u root -l
  再例如,root想刪除fred的cron設(shè)置:crontab -u fred -r
  在編輯cron服務(wù)時(shí),編輯的內(nèi)容有一些格式和約定,輸入:crontab -u root -e
  進(jìn)入vi編輯模式,編輯的內(nèi)容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
???? ?? 任務(wù)調(diào)度的crond常駐命令
??????? crond 是linux用來(lái)定期執(zhí)行程序的命令。當(dāng)安裝完成操作系統(tǒng)之后,默認(rèn)便會(huì)啟動(dòng)此??

???????任務(wù)調(diào)度命令。crond命令每分鍾會(huì)定期檢查是否有要執(zhí)行的工作,如果有要執(zhí)行的工

?????? 作便會(huì)自動(dòng)執(zhí)行該工作。

?

6. crontab命令選項(xiàng):

???? -u指定一個(gè)用戶

???? -l列出某個(gè)用戶的任務(wù)計(jì)劃

???? -r刪除某個(gè)用戶的任務(wù)

???? -e編輯某個(gè)用戶的任務(wù)

7. cron文件語(yǔ)法:

????? 分???? 小時(shí)?? ?日?????? 月?????? 星期???? 命令

????? 0-59?? 0-23?? 1-31?? 1-12???? 0-6???? command???? (取值范圍,0表示周日一般一行對(duì)應(yīng)一個(gè)任務(wù))

???? 記住幾個(gè)特殊符號(hào)的含義:

???????? “*”代表取值范圍內(nèi)的數(shù)字,
???????? “/”代表”每”,
???????? “-”代表從某個(gè)數(shù)字到某個(gè)數(shù)字,
???????? “,”分開(kāi)幾個(gè)離散的數(shù)字

8. 任務(wù)調(diào)度設(shè)置文件的寫(xiě)法
? ??? 可用crontab -e命令來(lái)編輯,編輯的是/var/spool/cron下對(duì)應(yīng)用戶的cron文件,也可以直接修改/etc/crontab文件
???? 具體格式如下:
??????Minute Hour Day Month Dayofweek?? command
??????分鐘???? 小時(shí)?? 天???? 月?????? 天每星期?????? 命令
??? ?每個(gè)字段代表的含義如下:
???? Minute???????????? 每個(gè)小時(shí)的第幾分鐘執(zhí)行該任務(wù)
???? Hour?????????????? 每天的第幾個(gè)小時(shí)執(zhí)行該任務(wù)
???? Day???????????????? 每月的第幾天執(zhí)行該任務(wù)
???? Month???????????? 每年的第幾個(gè)月執(zhí)行該任務(wù)
???? DayOfWeek???? 每周的第幾天執(zhí)行該任務(wù)
???? Command?????? 指定要執(zhí)行的程序
???? 在這些字段里,除了“Command”是每次都必須指定的字段以外,其它字段皆為可選

??? 字段,可視需要決定。對(duì)于不指定的字段,要用“*”來(lái)填補(bǔ)其位置。
??? 舉例如下:
??? 5?????? *?????? *?????????? *???? *???? ls???????????? 指定每小時(shí)的第5分鐘執(zhí)行一次ls命令
??? 30???? 5?????? *?????????? *???? *???? ls???????????? 指定每天的 5:30 執(zhí)行l(wèi)s命令
??? 30???? 7?????? 8???????? *???? *???? ls???????????? 指定每月8號(hào)的7:30分執(zhí)行l(wèi)s命令
??? 30???? 5?????? 8???????? 6???? *???? ls???????????? 指定每年的6月8日5:30執(zhí)行l(wèi)s命令
??? 30???? 6?????? *?????????? *???? 0???? ls???????????? 指定每星期日的6:30執(zhí)行l(wèi)s命令[注:0表示星期天,1表示星期1,

??? 以此類推,也可以用英文來(lái)表示,sun表示星期天,mon表示星期一等。]

? ?30???? 3???? 10,20???? *???? *???? ls???? 每月10號(hào)及20號(hào)的3:30執(zhí)行l(wèi)s命令[注:“,”用來(lái)連接多個(gè)不連續(xù)的時(shí)段]

?? ?25???? 8-11 *?????????? *???? *???? ls?????? 每天8-11點(diǎn)的第25分鐘執(zhí)行l(wèi)s命令[注:“-”用來(lái)連接連續(xù)的時(shí)段]

??? */15?? *?????? *?????????? *???? *???? ls???????? 每15分鐘執(zhí)行一次ls命令 [即每個(gè)小時(shí)的第0 15 30 45 60分鐘執(zhí)行l(wèi)s命令 ]

??? ?30?? 6???? */10???????? *???? *???? ls?????? 每個(gè)月中,每隔10天6:30執(zhí)行一次ls命令[即每月的1、11、21、31日是的6:30執(zhí)行一次ls 命令。 ]

???? 每天7:50以root 身份執(zhí)行/etc/cron.daily目錄中的所有可執(zhí)行文件

???? 50?? 7?????? *???????????? *???? *???? root???? run-parts???? /etc/cron.daily?? [ 注:run-parts參數(shù)表示,執(zhí)行后面目錄中的所有可執(zhí)行文件。 ]

?

9. 新增調(diào)度任務(wù)

???? 新增調(diào)度任務(wù)可用兩種方法:
?????? 1)、在命令行輸入: crontab -e 然后添加相應(yīng)的任務(wù),wq存盤(pán)退出。
????????2)、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應(yīng)的任務(wù)。

10. 查看調(diào)度任務(wù)
????????crontab -l //列出當(dāng)前的所有調(diào)度任務(wù)
????????crontab -l -u jp?? //列出用戶jp的所有調(diào)度任務(wù)

11. 刪除任務(wù)調(diào)度工作
???????? crontab -r?? //刪除所有任務(wù)調(diào)度工作

12. 任務(wù)調(diào)度執(zhí)行結(jié)果的轉(zhuǎn)向
????? ?例1:每天5:30執(zhí)行l(wèi)s命令,并把結(jié)果輸出到/jp/test文件中
???????? ???30 5 * * * ls >/jp/test 2>&1
?????????? ?注:2>&1 表示執(zhí)行結(jié)果及錯(cuò)誤信息。
???? ?編輯/etc/crontab 文件配置cron??

???? cron服務(wù)每分鐘不僅要讀一次/var/spool/cron內(nèi)的所有文件,還需要讀一次?/etc/crontab,因此我們配置這個(gè)文件也能運(yùn)用cron服務(wù)做一些事情。用crontab配置是針對(duì)某個(gè)用戶的,而編輯/etc/crontab是針對(duì)系統(tǒng)的任務(wù)。此文件的文件格式是:??

  SHELL=/bin/bash??

  PATH=/sbin:/bin:/usr/sbin:/usr/bin?

  MAILTO=root //如果出現(xiàn)錯(cuò)誤,或者有數(shù)據(jù)輸出,數(shù)據(jù)作為郵件發(fā)給這個(gè)帳號(hào)??

  HOME=/ //使用者運(yùn)行的路徑,這里是根目錄??
  # run-parts??

  01?? *?? *?? *?? *???? root run-parts /etc/cron.hourly???????? //每小時(shí)執(zhí)行

??????? /etc/cron.hourly內(nèi)的腳本??

 ??? 02?? 4?? *?? *?? *???? root run-parts /etc/cron.daily?????????? //每天執(zhí)行/etc/cron.daily內(nèi)的腳本??

?????? 22?? 4?? *?? *?? 0???? root run-parts /etc/cron.weekly?????? //每星期執(zhí)行?/etc/cron.weekly內(nèi)的腳本??

????? 42?? 4?? 1?? *?? *???? root run-parts /etc/cron.monthly???? //每月去執(zhí)行/etc/cron.monthly內(nèi)的腳本??
  大家注意”run-parts”這個(gè)參數(shù)了,如果去掉這個(gè)參數(shù)的話,后面就可以寫(xiě)要運(yùn)行的某個(gè)腳本名,而不是文件夾名了

??? 例如:

???? 1) 在命令行輸入: crontab -e 然后添加相應(yīng)的任務(wù),wq存盤(pán)退出。

????? 2)直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應(yīng)的任務(wù)
???????? ?11 2 21 10 * rm -rf /mnt/fb??

轉(zhuǎn)載于:https://www.cnblogs.com/dzpsite/p/8491571.html

總結(jié)

以上是生活随笔為你收集整理的centos 上 crontab 计划任务 ,这个版本解释的比较清晰的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。