CentOS下如何實行計劃任務(wù)

本篇內(nèi)容主要講解“CentOS下如何實行計劃任務(wù)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“CentOS下如何實行計劃任務(wù)”吧!

成都創(chuàng)新互聯(lián)公司為客戶提供專業(yè)的網(wǎng)站制作、網(wǎng)站建設(shè)、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項目涵蓋了網(wǎng)頁設(shè)計、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、移動網(wǎng)站建設(shè)等網(wǎng)站方面業(yè)務(wù)。

1、循環(huán)執(zhí)行的計劃任務(wù)

linux下面有atd和crond兩種計劃任務(wù),其中,atd服務(wù)使用的at命令只能執(zhí)行一次,而crond服務(wù)使用的crontab定義的命令,是循環(huán)作用的,所以crond才符合我們的要求。

crontab支持兩種狀態(tài):一、直接編寫計劃任務(wù);二、使用目錄的方式,放在目錄里面的都會定時執(zhí)行。

2、可以使用的用戶

默認情況下,系統(tǒng)中可以登陸的用戶,都可以使用crontab定義計劃任務(wù)。不過,可以通過下面兩個文件限制權(quán)限:

引用

◆/etc/cron.allow:

將可以使用 crontab 的賬號寫入其中,若不在這個檔案內(nèi)的使用者則不能使用 crontab;

◆/etc/cron.deny:

將不可以使用 crontab 的賬號寫入其中,若未記錄到這個檔案當(dāng)中的使用者,就可以使用 crontab 。

※類似TCPWrapper定義的方式。

3、直接使用crontab編輯計劃任務(wù):

命令:

crontab [-u username] [-l|-e|-r]

參數(shù):

-u  :通過-u幫其它使用者建立/移除 crontab;

-e  :編輯 crontab 的內(nèi)容

-l  :查看 crontab 的內(nèi)容

-r  :移除 crontab 的所有內(nèi)容(是全部的內(nèi)容,如果只是刪除某個,用-e編輯即可)

內(nèi)容格式:

* * * * * 命令

前面的五個*號,表示分、時、日、月、周,如:

代表意義 分鐘 小時 日期 月份 周

數(shù)字范圍 0-59 0-23 1-31 1-12 0-7

*號代表任何時間都接受的意思,任意。

*號之間用空格分開,如果是一段范圍,用-號連接;如果是隔開幾個時間,用,號表示。

另外,命令必須是編寫計劃任務(wù)的用戶有權(quán)限執(zhí)行的,并且最后用絕對路徑。

例如:

#crontab -e

59 23 1 5 * mail linuxing < /home/test.txt

每在5月1日,23點59分就把/home/test.txt的內(nèi)容作為郵件發(fā)給linuxing用戶

*/5 * * * * /opt/test.sh

每5分鐘就執(zhí)行一次/opt/test.sh腳本

0 3,6 * * * /usr/local/bin/test.sh

每在3點和6點整點都執(zhí)行/usr/local/bin/test.sh命令

0 8-12 * * * /root/backup.sh

8 點到 12 點之間的每小時的0分都執(zhí)行/root/backup.sh

4、基于目錄的方式執(zhí)行計劃任務(wù)

對于系統(tǒng)的計劃任務(wù),已經(jīng)在/etc/crontab里面定義,采用的就是基于目錄的方式。系統(tǒng)會定時讀取該文件,并根據(jù)里面的定義執(zhí)行命令。

可以使用vi直接編寫/etc/crontab文件,其中格式如下:

#cat /etc/crontab

SHELL=/bin/bash  #使用的shell

PATH=/sbin:/bin:/usr/sbin:/usr/bin  #預(yù)定義的PATH路徑

MAILTO=root   #出現(xiàn)問題發(fā)Email給該用戶

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   #每個月1號

分 時 日 月 周 執(zhí)行者身份  命令

可以看到前面的五個參數(shù)的定義和直接編輯計劃任務(wù)是一樣的,增加了執(zhí)行的用戶定義和run-parts參數(shù)。

run-parts后面跟的是目錄名稱,例如:/etc/cron.hourly,表示每小時01分就到/etc/cron.hourly目錄中執(zhí)行目錄下的所有可執(zhí)行文件;當(dāng)然,目錄是可以自己定義的。

如果你需要增加系統(tǒng)的計劃任務(wù),只需要在對應(yīng)的目錄添加執(zhí)行文件即可,例如:我需要在每天都執(zhí)行updatedb的操作,則我只需要把/usr/bin/updatedb的執(zhí)行命令鏈接到/etc/cron.daily目錄就可以了。

※同樣的,如果不需要使用目錄的方式,也可以使用如下的方式:

02 01 * * * root /root/test.sh

也就是沒有了run-parts,后面就直接跟命令的絕對路徑

5、注意事項

◆如果使用crontab編輯計劃任務(wù)或直接修改/etc/crontab文件后,計劃任務(wù)沒有生效,可能需要重啟一下crond服務(wù):service crond restart

◆當(dāng)編寫/etc/crontab文件的時候,不要漏了指定執(zhí)行計劃任務(wù)的用戶,這是和直接用crontab -e編輯不同的。

◆某用戶(如root)用crontab -e編輯的計劃任務(wù)存放在/var/spool/cron/root,這個文件下。但最好不要直接編輯他,因為crond執(zhí)行的時候,會在/tmp目錄中建立需要的臨時文件,直接編輯會對此有影響,甚至出錯。

◆cron執(zhí)行的每一項工作都會被紀(jì)錄到/var/log/cron這個日志文件中,可以從這個文件查看命令執(zhí)行的狀態(tài)。

到此,相信大家對“CentOS下如何實行計劃任務(wù)”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享標(biāo)題:CentOS下如何實行計劃任務(wù)
標(biāo)題路徑:http://muchs.cn/article4/jpesoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、定制網(wǎng)站網(wǎng)站維護、營銷型網(wǎng)站建設(shè)響應(yīng)式網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)