linux(centos)中的cron計(jì)劃任務(wù)配置方法[詳細(xì)]

1. crontab命令選項(xiàng)
#crontab -u <-l, -r, -e>
-u指定一個(gè)用戶
-l列出某個(gè)用戶的任務(wù)計(jì)劃
-r刪除某個(gè)用戶的任務(wù)
-e編輯某個(gè)用戶的任務(wù)
2. cron文件語法與寫法
可用crontab -e命令來編輯,編輯的是/var/spool/cron下對(duì)應(yīng)用戶的cron文件,也可以直接修改/etc/crontab文件。具體格式如下:
Minute Hour Day Month Week command
分鐘 小時(shí) 天 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command
每個(gè)字段代表的含義如下:
Minute 每個(gè)小時(shí)的第幾分鐘執(zhí)行該任務(wù)
Hour 每天的第幾個(gè)小時(shí)執(zhí)行該任務(wù)
Day 每月的第幾天執(zhí)行該任務(wù)
Month 每年的第幾個(gè)月執(zhí)行該任務(wù)
DayOfWeek 每周的第幾天執(zhí)行該任務(wù),0表示周日
Command 指定要執(zhí)行的程序 、腳本或命令
在這些字段里,除了“Command”是必須指定的字段以外,其它字段皆為可選。對(duì)于不指定的字段,要用“*”來填補(bǔ)其位置。
3. 幾個(gè)特殊符號(hào)的含義
“*”代表取值范圍內(nèi)的數(shù)字,
“/”代表”每”,
“-”代表從某個(gè)數(shù)字到某個(gè)數(shù)字,
“,”分開幾個(gè)離散的數(shù)字
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
前四行是用來配置 cron 任務(wù)運(yùn)行環(huán)境的變量:
SHELL 變量的值指定shell 環(huán)境(此處默認(rèn)為 bash shell);PATH 變量定義用來執(zhí)行命令的程序路徑;cron 任務(wù)的輸出被郵寄給 MAILTO 變量定義的用戶名,如果 MAILTO 變量被定義為空白字符串(MAILTO=""),電子郵件就不會(huì)被寄出;HOME 變量可以用來設(shè)置在執(zhí)行命令或腳本時(shí)使用的主目錄。
如在 /etc/crontab 文件中run-parts部分所示,它使用 run-parts 腳本來執(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)度來執(zhí)行,而不是每小時(shí)、每日、每周、或每月地執(zhí)行,它可以被添加到/etc/cron.d目錄中。該目錄中的所有文件使用和 /etc/crontab 中一樣的語法。
每次編輯完某個(gè)用戶的cron設(shè)置后,cron自動(dòng)在/var/spool/cron下生成一個(gè)與此用戶同名的文件,此用戶的cron信息都記錄在這個(gè)文件中,這個(gè)文件是不可以直接編輯的,只可以用crontab -e 來編輯。cron啟動(dòng)后每過一份鐘讀一次這個(gè)文件,檢查是否要執(zhí)行里面的命令。因此此文件修改后不需要重新啟動(dòng)cron服務(wù)。
5. 常見cron示例參考
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,以此類推,也可以用英文來表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10號(hào)及20號(hào)的3:30執(zhí)行l(wèi)s命令[注:“,”用來連接多個(gè)不連續(xù)的時(shí)段]
25 8-11 * * * ls 每天8-11點(diǎn)的第25分鐘執(zhí)行l(wèi)s命令[注:“-”用來連接連續(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í)行文件
第10、20、30分鐘輸出到/tmp/cron1.txt:
10,20,30 * * * * echo "第10、20、30分鐘輸出一次" >> /tmp/cron1.txt
以用戶lzw.me的身份每兩小時(shí)就運(yùn)行某個(gè)程序:
0 */2 * * * lzw.me /usr/bin/somecommand >> /dev/null 2>&1
6. 特別提示
A、cron配置文件路徑
#vi /etc/crontab
B、重啟cron的方法
#/etc/rc.d/init.d/crond restart
Usage: /etc/rc.d/init.d/crond {start|stop|status|reload|restart|condrestart}
C、別忘了將腳本改成可執(zhí)行
chmod +x filename
相關(guān)文章
Win7如何添加任務(wù)計(jì)劃Win7計(jì)劃任務(wù)定時(shí)關(guān)機(jī)
win7定時(shí)關(guān)機(jī)主要為大家分享利用Win7任務(wù)計(jì)劃創(chuàng)建消息提醒以及借助Win7計(jì)劃任務(wù)實(shí)現(xiàn)電腦每天定時(shí)關(guān)機(jī)技巧,感興趣的朋友不妨一起來學(xué)習(xí)下吧。2012-10-20刪除win2003默認(rèn)共享的打印機(jī)和傳真、計(jì)劃任務(wù)的方法[圖文]
默認(rèn)情況下,在Win2003 Server的操作系統(tǒng)下,都有兩個(gè)默認(rèn)的共享,一個(gè)是打印機(jī)和傳真,另外一個(gè)是計(jì)劃任務(wù)2012-07-30Win7系統(tǒng)如何創(chuàng)建計(jì)劃任務(wù)的小技巧(圖文)
Win7系統(tǒng)有時(shí)候需要?jiǎng)?chuàng)建計(jì)劃任務(wù).下面告訴一下小技巧2012-07-27Windows的計(jì)劃任務(wù)圖解教程(winxp)
在Windows中,系統(tǒng)有一項(xiàng)重要的“計(jì)劃任務(wù)”功能,通過設(shè)置“計(jì)劃任務(wù)”,你可以將每天或某一天的某個(gè)時(shí)間需要做的事擬成計(jì)劃,到約定的時(shí)間,不管你在電腦上進(jìn)行什么工作2024-05-25服務(wù)器維護(hù)和計(jì)劃任務(wù)使用方法
1.服務(wù)器日常維護(hù)說明: 服務(wù)器在日常使用中需要定期維護(hù)才能保證服務(wù)器穩(wěn)定運(yùn)行. 對(duì)服務(wù)器來說. 定期維護(hù)一般是做以下工作: 1) 檢查系統(tǒng)日志. 看有什么可疑的日志記錄和安2009-06-24linux下創(chuàng)建計(jì)劃任務(wù)運(yùn)行php文件的方法
這個(gè)計(jì)劃任務(wù)每天6點(diǎn)10時(shí)執(zhí)行filename.php文件,簡單的寫入一行時(shí)間到log日志里2013-07-05