今天下午的時(shí)候客戶發(fā)郵件反饋說,對(duì)于某個(gè)環(huán)境中的文件系統(tǒng)監(jiān)控和表空間使用情況的郵件收到的比較頻繁,感覺是1個(gè)小時(shí)發(fā)送一次,
今天下午的時(shí)候客戶發(fā)郵件反饋說,對(duì)于某個(gè)環(huán)境中的文件系統(tǒng)監(jiān)控和表空間使用情況的郵件收到的比較頻繁,,感覺是1個(gè)小時(shí)發(fā)送一次,完全可以3個(gè)小時(shí)發(fā)送一次,接到這個(gè)問題后,最直接的聯(lián)想就是使用crontab。
結(jié)果登錄到服務(wù)器端之后查看,得到的結(jié)果如下:
> crontab -l
# Minute Hour Month Day Month Weekday Command
###############################################################################
52 6,9,12,15,18,21 * * * /oravl01/orainst/XXXXX/FileSystem.ksh
################### TABLESPACE ALERT - FOR ALL ######################################
52 6,9,12,15,18,21 * * * /bin/ksh "/oravl01/orainst/dba/ENV/free_tbs_alert.ksh XXXX"
簡(jiǎn)單再來回顧一下crontab的使用,crontab中含有6個(gè)參數(shù),分別代表分,小時(shí),天,周,月,待運(yùn)行的腳本。
所以對(duì)于這個(gè)問題來說,
52 6,9,12,15,18,21 * * * 代表的意義就是 在每天的6點(diǎn),9點(diǎn),12點(diǎn),15點(diǎn),18點(diǎn),21點(diǎn),在52分的時(shí)候運(yùn)行一次指定的腳本內(nèi)容。
按照這個(gè)配置還是很合理的,在大半夜也不會(huì)頻繁發(fā)送不是很緊急的一些郵件造成不必要的干擾。從配置來看是每3個(gè)小時(shí)運(yùn)行一次。
但是根據(jù)客戶的反饋說發(fā)送的頻率有些頻繁了,在這一點(diǎn)上,問題就有些蹊蹺了。
帶著疑問查看了對(duì)應(yīng)的腳本內(nèi)容,也沒有發(fā)現(xiàn)特別的時(shí)間設(shè)定,都是一些例行的檢查點(diǎn)。
最后帶著疑惑和客戶做了簡(jiǎn)單的溝通,根據(jù)目前的配置確實(shí)是3個(gè)小時(shí),如果在3個(gè)小時(shí)以內(nèi),應(yīng)該是出現(xiàn)了什么問題,可以把郵件轉(zhuǎn)給我??蛻舻姆答佉埠芸?,他們給我轉(zhuǎn)來了最新的郵件,發(fā)現(xiàn)兩封基本相同的郵件,時(shí)間點(diǎn)很近,一個(gè)是52分的時(shí)候,這個(gè)和crontab里面的配置是吻合的,另外一個(gè)是在0分的時(shí)候發(fā)送的。對(duì)于這點(diǎn)就有些疑惑了。帶著疑問排除了本地的crontab的配置問題,開始在相關(guān)的環(huán)境中查找,因?yàn)橛辛朔较虿檎移饋聿凰闾M(fèi)勁,終于在一個(gè)環(huán)境中使用crontab -l找到了類似的配置。
### TRAINING ENVIRONMENT- DB SERVER FS ALERT REPORT ###
00 6,9,12,15,18,21 * * * ssh orainst@XXXX '/bin/ksh /oravl01/orainst/XXXX/FileSystem.ksh'
### TRAINING ENVIRONMENT- DB SERVER TABLE SPACE ALERT REPORT ###
00 6,9,12,15,18,21 * * * ssh orainst@XXXX '/bin/ksh /oravl01/orainst/dba/ENV/free_tbs_alert.ksh XXXXX'
這個(gè)配置的意思就是在每天的6點(diǎn),9點(diǎn),12點(diǎn),15點(diǎn),18點(diǎn),21點(diǎn),在0分的時(shí)候開始運(yùn)行腳本并發(fā)送相應(yīng)的郵件。
明白了這點(diǎn)問題的處理就很簡(jiǎn)單了,現(xiàn)在需要弄明白的是為什么這個(gè)crontab需要在其它服務(wù)器中配置而不是本地。如果需要禁用,改禁用哪個(gè)。
做了簡(jiǎn)單的溝通,最后明白,原來這里他們使用的另外一臺(tái)服務(wù)器是一個(gè)類似代理的角色,其中配置著大量的crontab的設(shè)置,通過這個(gè)客戶端能夠控制各個(gè)服務(wù)端的一些數(shù)據(jù)運(yùn)行情況,按照最初的約定,是3個(gè)小時(shí)運(yùn)行一次腳本,做一次相應(yīng)的檢查工作。
那么為什么服務(wù)端又莫名其妙的啟用了crontab設(shè)置呢,最后發(fā)現(xiàn)是在上周五的時(shí)候有個(gè)DBA做了一個(gè)crontab的測(cè)試,結(jié)果沒有注意到已經(jīng)在后臺(tái)統(tǒng)一配置了,簡(jiǎn)單做了禁用問題就修復(fù)了。
這個(gè)簡(jiǎn)單的案例我們可以發(fā)現(xiàn),很多蹊蹺的問題都是事出有因,如果去追查根本的原因,不是一些配置問題就是一些相關(guān)的協(xié)調(diào)不一致導(dǎo)致的問題。這類問題的處理方式還是建立統(tǒng)一的標(biāo)準(zhǔn)和權(quán)限,就能夠在一定程度上規(guī)避類似的問題了,說起來容易做起來難,還是需要慢慢改進(jìn)了。
Linux中利用crontab創(chuàng)建計(jì)劃任務(wù)
Linux中用crontab例行工作安排
Linux crontab不執(zhí)行問題排查
Ubuntu使用crontab定時(shí)任務(wù)
Linux計(jì)劃任務(wù)(at batch crontab anacron)
本文永久更新鏈接地址:
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com