亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

crontab定時任務不執行的一些原因總結

2024-09-01 13:56:26
字體:
來源:轉載
供稿:網友

前言

最近在工作中遇到了一些問題,crontab定時任務居然不執行,后來我在網上找的時候發現網上主要說了這5個原因:

1 crond服務未啟動

crontab不是Linux內核的功能,而是依賴一個crond服務,這個服務可以啟動當然也可以停止。如果停止了就無法執行任何定時任務了,解決的方法是打開它:

crond

service crond start

如果提示crond命令不存在,可能被誤刪除了,CentOS下可以通過這個命令重新安裝:

yum -y install crontabs

2 權限問題

比如:腳本沒有x執行權限,解決方法:

增加執行權限,或者用bash abc.sh的方法執行

也有可能crontab任務所屬的用戶對某個目錄沒有寫權限,也會失敗

3 路徑問題

有的命令在shell中執行正常,但是在crontab執行卻總是失敗。有可能是因為crontab使用的sh未正確識別路徑,比如:以root身份登錄shell后執行一個/root/test.sh,只要執行

./test.sh

就可以了。但是在crontab中,就會找不到這個腳本,比如寫完整:

/root/test.sh

4 時差問題

因為服務器與客戶端時差問題,所以crontab的時間以服務器時間為準。

時差這個問題還真是搞人,這個我親身體驗了,現象如下:

(1) 我設置了一個定時腳本,用date命令觀察服務器的時間到了腳本執行的時間點,發現沒有執行

(2) 但是我把腳本設置成每分鐘執行一次,就是OK的

見鬼了,服務器時間是對的???莫非是要加個什么時區?于是把腳本的時間減10或者12或者8個小時都嘗試了下,發現都不行。

但是很明顯是時間不一致導致的不執行。

最后用如下兩行解決了問題:

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeservice crond restart

5 變量問題

有時候命令中含有變量,但crontab執行時卻沒有,也會造成執行失敗。

驗證后,我的定時腳本test.sh不執行不是上述任何一種原因,其實我的腳本就一句話:

#!/bin/bashecho 123 >> testFile

我希望通過這種方式來測試 我設置的定時腳本起作用了,于是我設置了該腳本每分鐘執行一次,但是死活在腳本所在目錄看不到這個文件,我手動執行

# sh test.sh

卻能看到在腳本所在目錄能看到這個文件

我懷疑是crontab根本沒有執行,于是我在crontab中直接添加了

*/1 * * * * echo 123 >> /home/denglinjie/testFile

testFile文件生成了,說明crontab是執行了的,那看來是我腳本自身存在問題

最后發現,原來是testFile這里必須寫完整的路徑,我天真的以為testFile會生成在腳本所在的目錄,所以改成了如下形式

#!/bin/bashecho 123 >> /data/denglinjie/testFile

然后就可以了。

其實路徑是個非常容易出問題的地方,假設在/home/denglinjie目錄下有一個腳本文件test1.sh,然后在該目錄下還有一個腳本文件test2.sh

在test1.sh中執行了test2.sh,而且用的是相對路徑,即相對test1.sh所在的路徑。

如果在crontab -e中編輯的時候,執行的方式是

sh /home/denglinjie/test1.sh,當執行到調用sh test2.sh的時候,系統會認為是從crontab文件所在的目錄去找test2.sh,但是其實是找不到的,造成執行失敗

最開始我想的方法是,我要將我寫的待執行的腳本文件以及被調用的其他的腳本和crontab文件放到一個地方,這樣就可以拉,但是失敗了,可能是因為權限問題,我進不去/var/spool/cron目錄。

所以另外一個解決方法就是在執行腳本之前先通過 cd   /home/denglinjie 命令進入到腳本所在目錄

------------------------------------------------------------------

最近又發現一種新的引起crontab不執行的原因

這里我要執行的是python腳本,我python腳本的目錄為:

/data/denglinjie/work/UpdateModuleSwitch

一開始我的定時任務是這樣寫的:

0 * * * * cd /data/denglinjie/work/UpdateModuleSwitch;python update_switch.py

發現到了時間點居然沒有執行,其中update_switch.py的部分內容如下:

import pymongo

就是我的腳本中引入了自己安裝的pymongo, 注意,這個pymongo是安裝到了指定的python版本上的

不執行原因:crontab定時任務執行的時候,使用的python不是我的那個python,使用的這個python沒有安裝pymongo,導致import失敗

解決辦法,改成如下形式:

0 * * * * cd /data/denglinjie/work/UpdateModuleSwitch;/data/zhoumi/install_evn/bin/python update_switch.py

指定運行使用的python,這個python已經安裝綁定了pymongo,或者用如下形式:

0 * * * * export PATH=/data/zhoumi/install_evn/bin/:$PATH;cd /data/denglinjie/work/UpdateModuleSwitch;python update_switch.py

因為我的這個python是安裝在我自己的用戶目錄下,所以系統找不到這個python,所以只要將我的python也加入到系統PATH環境變量中就可以了

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
蜜月aⅴ免费一区二区三区| 国产日韩欧美日韩| 国产精品露脸自拍| 日韩视频免费大全中文字幕| 亚洲欧美资源在线| 国产91久久婷婷一区二区| 91免费在线视频网站| 精品久久国产精品| 久久精品国产亚洲精品| 91亚洲精品久久久久久久久久久久| 成人有码视频在线播放| 姬川优奈aav一区二区| 久久久久久噜噜噜久久久精品| 午夜精品久久17c| 色老头一区二区三区在线观看| 日韩经典第一页| 国产精品福利无圣光在线一区| 亚洲精品不卡在线| 亚洲色图狂野欧美| 亚洲激情国产精品| 欧美激情在线观看视频| 日韩在线播放av| 国产精品流白浆视频| 亚洲摸下面视频| xxxx性欧美| 久久激情视频久久| 久久精品青青大伊人av| 色婷婷综合久久久久中文字幕1| 日本成人精品在线| 国产美女被下药99| 国产日韩在线观看av| 亚洲精品国产精品乱码不99按摩| 久久青草福利网站| 亚洲影院污污.| 国产一区二区三区欧美| 久久久久久com| 国产欧美日韩视频| 日韩中文字幕免费| 亚洲片国产一区一级在线观看| 波霸ol色综合久久| 日韩中文字幕第一页| 亚洲黄色av女优在线观看| 国产精品视频一区二区三区四| 蜜臀久久99精品久久久久久宅男| 亚洲最大中文字幕| 97超碰蝌蚪网人人做人人爽| 国产美女精品免费电影| 国产99视频精品免视看7| 久久久久一本一区二区青青蜜月| 国模极品一区二区三区| 日本欧美爱爱爱| 国产日韩专区在线| 久久99久久久久久久噜噜| 青草青草久热精品视频在线网站| 久久久欧美一区二区| 欧美小视频在线| 亚洲第一网站免费视频| 国产裸体写真av一区二区| 亚洲成人av中文字幕| 92看片淫黄大片欧美看国产片| 91精品国产91久久久久| 日韩欧美在线免费| 日av在线播放中文不卡| 欧美精品videosex性欧美| 日本午夜人人精品| 欧美黑人一区二区三区| 国产日韩欧美91| 色婷婷成人综合| 午夜精品久久久久久久男人的天堂| 日本国产欧美一区二区三区| 亚洲最大福利网| 91麻豆国产精品| 91在线观看免费高清完整版在线观看| 国产视频亚洲精品| 黑人巨大精品欧美一区二区| 久久手机免费视频| 日韩视频在线免费观看| 性亚洲最疯狂xxxx高清| 国产精品青草久久久久福利99| 亚洲护士老师的毛茸茸最新章节| 国产精品劲爆视频| 久久777国产线看观看精品| 亚洲aⅴ男人的天堂在线观看| 欧美乱大交xxxxx| 亚洲免费电影在线观看| 国产亚洲在线播放| 国产欧美一区二区三区四区| 中文字幕亚洲无线码a| 国产视频999| 亚洲人永久免费| 日韩av不卡在线| 亚洲人成网站在线播| 欧美富婆性猛交| 欧美性理论片在线观看片免费| 国产一区二区三区毛片| 夜夜狂射影院欧美极品| 性欧美办公室18xxxxhd| 成人免费直播live| 欧美国产激情18| 欧美一级黑人aaaaaaa做受| 91av视频在线免费观看| 欧美电影免费观看网站| 在线日韩精品视频| 欧美性在线观看| 午夜精品久久久久久99热| 日韩经典一区二区三区| 亚洲午夜精品久久久久久久久久久久| 热久久这里只有| 国产日韩欧美夫妻视频在线观看| 91麻豆国产语对白在线观看| 色偷偷av一区二区三区| 日韩视频免费在线观看| 欧美激情一区二区三区久久久| 91久久精品久久国产性色也91| 国产乱人伦真实精品视频| 日韩av在线网址| 国产极品精品在线观看| 国产精品免费观看在线| 92裸体在线视频网站| 中文字幕亚洲一区二区三区五十路| 成人精品在线视频| 成人欧美一区二区三区在线| 日韩高清电影好看的电视剧电影| 久久精品91久久久久久再现| 国产精品黄色影片导航在线观看| 国产一区二区日韩精品欧美精品| 美女撒尿一区二区三区| 亚洲女同性videos| 日产日韩在线亚洲欧美| 九九热精品视频在线播放| 中文字幕久久精品| 亚洲人成在线观看网站高清| 欧美日韩激情小视频| 国产日韩欧美影视| 91精品国产色综合久久不卡98| 欧美三级免费观看| 日韩美女视频在线观看| 久久精品男人天堂| 亚洲成人999| 亚洲乱码一区av黑人高潮| 日韩电影在线观看永久视频免费网站| 久久精品99无色码中文字幕| 国产精品久久99久久| 欧美老肥婆性猛交视频| 欧美色videos| 亚洲最新av在线网站| 疯狂做受xxxx欧美肥白少妇| 欧美猛交ⅹxxx乱大交视频| 欧美夫妻性视频| 成人激情视频在线| 久久精品成人欧美大片古装| 国产999在线观看| 国产精品美女午夜av| 欧美日韩色婷婷| 成人黄色片网站| 韩国福利视频一区| 久久亚洲一区二区三区四区五区高| 中文字幕亚洲二区| 一级做a爰片久久毛片美女图片| 日韩av在线免费播放| 91天堂在线视频| 91网站在线免费观看| 一区二区三区视频在线| 欧美放荡办公室videos4k|