如何實(shí)現(xiàn)crontab的解析

如何實(shí)現(xiàn)crontab的解析,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)成都企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:iso認(rèn)證等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致贊揚(yáng)!

Crontab是一個(gè)很方便的在unix/linux系統(tǒng)上定時(shí)(循環(huán))執(zhí)行某個(gè)任務(wù)的程序

使用cron服務(wù),用 service crond status 查看 cron服務(wù)狀態(tài),如果沒(méi)有啟動(dòng)則 service crond start啟動(dòng)它,

cron服務(wù)是一個(gè)定時(shí)執(zhí)行的服務(wù),可以通過(guò)crontab 命令添加或者編輯需要定時(shí)執(zhí)行的任務(wù):

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

編輯/etc/crontab文件,在末尾加上一行: 30 5 * * * root init 6 這樣就將系統(tǒng)配置為了每天早上5點(diǎn)30自動(dòng)重新啟動(dòng)。

需要將crond設(shè)置為系統(tǒng)啟動(dòng)后自動(dòng)啟動(dòng)的服務(wù),可以在/etc/rc.d/rc.local 中,在末尾加上

service crond start

如果還需要在系統(tǒng)啟動(dòng)十加載其他服務(wù),可以繼續(xù)加上其他服務(wù)的啟動(dòng)命令。

比如: service MySQLd start

基本用法:

1. crontab -l

列出當(dāng)前的crontab任務(wù)

2. crontab -d

刪除當(dāng)前的crontab任務(wù)

3. crontab -e (solaris5.8上面是 crontab -r)

編輯一個(gè)crontab任務(wù),ctrl_D結(jié)束

4. crontab filename

以filename做為crontab的任務(wù)列表文件并載入

crontab file的格式:

crontab 文件中的行由 6 個(gè)字段組成,不同字段間用空格或 tab 鍵分隔。前 5 個(gè)字段指定命令要運(yùn)行的時(shí)間

分鐘 (0-59)

小時(shí) (0-23)

日期 (1-31)

月份 (1-12)

星期幾(0-6,其中 0 代表星期日)

第 6 個(gè)字段是一個(gè)要在適當(dāng)時(shí)間執(zhí)行的字符串

例子:

#MIN HOUR DAY MONTH DAYOFWEEK COMMAND

#每天早上6點(diǎn)10分

10 6 * * * date

#每?jī)蓚€(gè)小時(shí)

0 */2 * * * date (solaris 5.8似乎不支持此種寫法)

#晚上11點(diǎn)到早上8點(diǎn)之間每?jī)蓚€(gè)小時(shí),早上8點(diǎn)

0 23-7/2,8 * * * date

#每個(gè)月的4號(hào)和每個(gè)禮拜的禮拜一到禮拜三的早上11點(diǎn)

0 11 4 * mon-wed date

#1月份日早上4點(diǎn)

0 4 1 jan * date

補(bǔ)充:在使用crontab的時(shí)候,要特別注意的是運(yùn)行腳本中能夠訪問(wèn)到的環(huán)境變量和當(dāng)前測(cè)試環(huán)境中的環(huán)境變量未必一致,一個(gè)比較保險(xiǎn)的做法是在運(yùn)行的腳本程序中自行設(shè)置環(huán)境變量(export)

(1)先建一個(gè)文件crond.txt如下, 每天早上5點(diǎn)36分重新啟動(dòng)

36 5 * * * reboot

(2)上傳到/opt目錄

(3)運(yùn)行命令

crontab /opt/crond.txt

crontab -l

讓配置文件生效:如果讓配置文件生效,還得重新啟動(dòng)cron,切記,既然每個(gè)用戶下的cron配置文件修改后。也要重新啟動(dòng)cron服務(wù)器

在Fedora 和Redhat中,我們應(yīng)該用;

[root@localhost ~]# /etc/init.d/crond restart

如果讓crond 在開機(jī)時(shí)運(yùn)行,應(yīng)該改變其運(yùn)行級(jí)別;

[root@localhost ~]# chkconfig --levels 35 crond on

service crond status 查看 cron服務(wù)狀態(tài),如果沒(méi)有啟動(dòng)則 service crond start啟動(dòng)它, cron服務(wù)是一個(gè)定時(shí)執(zhí)行的服務(wù),可以通過(guò)crontab 命令添加或者編輯需要定時(shí)執(zhí)行的任務(wù)。 

Crontab文件的每一行由六個(gè)域(minutes、hours、day of month、month、day of week、 command)組 成,域之間用空格或Tab分開,其中:

minutes: 分鐘域,值的范圍是0到59

hours: 小時(shí)域,值的范圍是0到23

day of month: 日期,值的范圍是1到31

month: 月份,值的范圍是1到12

day of week: 星期,值的范圍是0到6,星期日值為0

command: 所要運(yùn)行的命令

如果一個(gè)域是*,表明命令可以在該域所有可能的取值范圍內(nèi)執(zhí)行。

如果一個(gè)域是由連字符隔開的兩個(gè)數(shù)字,表明命令可以在兩個(gè)數(shù)字之間的范圍內(nèi)執(zhí)行(包括兩個(gè)數(shù)字 本身)。

如果一個(gè)域是由逗號(hào)隔開的一系列值組成的,表明命令可以在這些值組成的范圍內(nèi)執(zhí)行。

如果日期域和星期域都有值,則這兩個(gè)域都有效。

編寫一個(gè)文件,用以啟動(dòng)自動(dòng)備份進(jìn)程。

cd /opt

touch reboot.txt

在reboot.txt中添加一下內(nèi)容:

0 4 * * * reboot

crontab /opt/reboot.txt

用crontab -e編輯定時(shí)操作,例如加入下行命令:

用crontab -l命令來(lái)查看

注意:需要啟動(dòng)服務(wù)(添加在rc.local中)

重啟crond任務(wù)

/etc/init.d/cron restart (ubuntu下)

第一種 在Fedora或Redhat 等以RPM包管理的系統(tǒng)中;

[root@localhost ~]# /etc/init.d/crond start

[root@localhost ~]# /etc/init.d/crond stop

[root@localhost ~]# /etc/init.d/crond restart

/etc/rc.d/init.d/crond restart

命令簡(jiǎn)介

crontab-操作每個(gè)用戶的守護(hù)程序和該執(zhí)行的時(shí)間表。

部分參數(shù)說(shuō)明

crontab file [-u user]-用指定的文件替代目前的crontab。

crontab-[-u user]-用標(biāo)準(zhǔn)輸入替代目前的crontab.

crontab-1[user]-列出用戶目前的crontab.

crontab-e[user]-編輯用戶目前的crontab.

crontab-d[user]-刪除用戶目前的crontab.

crontab-c dir- 指定crontab的目錄。

crontab文件的格式:M H D m d cmd.

M: 分鐘(0-59)。

H:小時(shí)(0-23)。

D:天(1-31)。

m: 月(1-12)。

d: 一星期內(nèi)的天(0~6,0為星期天)。

cmd要運(yùn)行的程序,程序被送入sh執(zhí)行,這個(gè)shell只有USER,HOME,SHELL這三個(gè)環(huán)境變量。

關(guān)于如何實(shí)現(xiàn)crontab的解析問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

文章標(biāo)題:如何實(shí)現(xiàn)crontab的解析
路徑分享:http://muchs.cn/article4/ghiooe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、App開發(fā)、建站公司品牌網(wǎng)站制作網(wǎng)站改版

廣告

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

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)