最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

crontab定時(shí)任務(wù)不執(zhí)行的一些原因總結(jié)

 更新時(shí)間:2019年01月09日 09:34:57   作者:田野上的希望  
這篇文章主要給大家總結(jié)介紹了關(guān)于crontab定時(shí)任務(wù)不執(zhí)行的一些原因,對(duì)每種可能發(fā)生的原因都給出了解決方法,對(duì)遇到這個(gè)問(wèn)題的朋友們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

最近在工作中遇到了一些問(wèn)題,crontab定時(shí)任務(wù)居然不執(zhí)行,后來(lái)我在網(wǎng)上找的時(shí)候發(fā)現(xiàn)網(wǎng)上主要說(shuō)了這5個(gè)原因:

1 crond服務(wù)未啟動(dòng)

crontab不是Linux內(nèi)核的功能,而是依賴一個(gè)crond服務(wù),這個(gè)服務(wù)可以啟動(dòng)當(dāng)然也可以停止。如果停止了就無(wú)法執(zhí)行任何定時(shí)任務(wù)了,解決的方法是打開它:

crond

service crond start

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

yum -y install crontabs

2 權(quán)限問(wèn)題

比如:腳本沒有x執(zhí)行權(quán)限,解決方法:

增加執(zhí)行權(quán)限,或者用bash abc.sh的方法執(zhí)行

也有可能crontab任務(wù)所屬的用戶對(duì)某個(gè)目錄沒有寫權(quán)限,也會(huì)失敗

3 路徑問(wèn)題

有的命令在shell中執(zhí)行正常,但是在crontab執(zhí)行卻總是失敗。有可能是因?yàn)閏rontab使用的sh未正確識(shí)別路徑,比如:以root身份登錄shell后執(zhí)行一個(gè)/root/test.sh,只要執(zhí)行

./test.sh

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

/root/test.sh

4 時(shí)差問(wèn)題

因?yàn)榉?wù)器與客戶端時(shí)差問(wèn)題,所以crontab的時(shí)間以服務(wù)器時(shí)間為準(zhǔn)。

時(shí)差這個(gè)問(wèn)題還真是搞人,這個(gè)我親身體驗(yàn)了,現(xiàn)象如下:

(1) 我設(shè)置了一個(gè)定時(shí)腳本,用date命令觀察服務(wù)器的時(shí)間到了腳本執(zhí)行的時(shí)間點(diǎn),發(fā)現(xiàn)沒有執(zhí)行

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

見鬼了,服務(wù)器時(shí)間是對(duì)的???莫非是要加個(gè)什么時(shí)區(qū)?于是把腳本的時(shí)間減10或者12或者8個(gè)小時(shí)都嘗試了下,發(fā)現(xiàn)都不行。

但是很明顯是時(shí)間不一致導(dǎo)致的不執(zhí)行。

最后用如下兩行解決了問(wèn)題:

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
service crond restart

參考這篇文章: http://m.fzitv.net/article/154296.htm

5 變量問(wèn)題

有時(shí)候命令中含有變量,但crontab執(zhí)行時(shí)卻沒有,也會(huì)造成執(zhí)行失敗。

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

#!/bin/bash
echo 123 >> testFile

我希望通過(guò)這種方式來(lái)測(cè)試 我設(shè)置的定時(shí)腳本起作用了,于是我設(shè)置了該腳本每分鐘執(zhí)行一次,但是死活在腳本所在目錄看不到這個(gè)文件,我手動(dòng)執(zhí)行

# sh test.sh

卻能看到在腳本所在目錄能看到這個(gè)文件

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

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

testFile文件生成了,說(shuō)明crontab是執(zhí)行了的,那看來(lái)是我腳本自身存在問(wèn)題

最后發(fā)現(xiàn),原來(lái)是testFile這里必須寫完整的路徑,我天真的以為testFile會(huì)生成在腳本所在的目錄,所以改成了如下形式

#!/bin/bash
echo 123 >> /data/denglinjie/testFile

然后就可以了。

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

在test1.sh中執(zhí)行了test2.sh,而且用的是相對(duì)路徑,即相對(duì)test1.sh所在的路徑。

如果在crontab -e中編輯的時(shí)候,執(zhí)行的方式是

sh /home/denglinjie/test1.sh,當(dāng)執(zhí)行到調(diào)用sh test2.sh的時(shí)候,系統(tǒng)會(huì)認(rèn)為是從crontab文件所在的目錄去找test2.sh,但是其實(shí)是找不到的,造成執(zhí)行失敗

最開始我想的方法是,我要將我寫的待執(zhí)行的腳本文件以及被調(diào)用的其他的腳本和crontab文件放到一個(gè)地方,這樣就可以拉,但是失敗了,可能是因?yàn)闄?quán)限問(wèn)題,我進(jìn)不去/var/spool/cron目錄。

所以另外一個(gè)解決方法就是在執(zhí)行腳本之前先通過(guò) cd   /home/denglinjie 命令進(jìn)入到腳本所在目錄

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

最近又發(fā)現(xiàn)一種新的引起crontab不執(zhí)行的原因

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

/data/denglinjie/work/UpdateModuleSwitch

一開始我的定時(shí)任務(wù)是這樣寫的:

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

發(fā)現(xiàn)到了時(shí)間點(diǎn)居然沒有執(zhí)行,其中update_switch.py的部分內(nèi)容如下:

import pymongo

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

不執(zhí)行原因:crontab定時(shí)任務(wù)執(zhí)行的時(shí)候,使用的python不是我的那個(gè)python,使用的這個(gè)python沒有安裝pymongo,導(dǎo)致import失敗

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

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

指定運(yùn)行使用的python,這個(gè)python已經(jīng)安裝綁定了pymongo,或者用如下形式:

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

因?yàn)槲业倪@個(gè)python是安裝在我自己的用戶目錄下,所以系統(tǒng)找不到這個(gè)python,所以只要將我的python也加入到系統(tǒng)PATH環(huán)境變量中就可以了

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • 概述Linux TTY/PTS的區(qū)別

    概述Linux TTY/PTS的區(qū)別

    這篇文章主要介紹了概述Linux TTY/PTS的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Centos7的Firewalld防火墻基礎(chǔ)命令詳解

    Centos7的Firewalld防火墻基礎(chǔ)命令詳解

    這篇文章主要介紹了Centos7的Firewalld防火墻基礎(chǔ)命令詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • centos6.6 下 安裝 php7 + nginx環(huán)境的方法

    centos6.6 下 安裝 php7 + nginx環(huán)境的方法

    這篇文章主要介紹了centos6.6 下 安裝 php7 + nginx環(huán)境的方法,總結(jié)分析了centos6.6 安裝 php7 + nginx環(huán)境的相關(guān)配置命令與操作技巧,需要的朋友可以參考下
    2020-03-03
  • 騰訊云ubuntu服務(wù)器tomcat訪問(wèn)慢的原因分析及解決方法

    騰訊云ubuntu服務(wù)器tomcat訪問(wèn)慢的原因分析及解決方法

    在騰訊云上配了個(gè)一元的學(xué)生云,開始一切正常,直到配置tomcat開始出現(xiàn)各種莫名其妙的問(wèn)題。最終找到問(wèn)題的原因。下面小編通過(guò)本教程給大家介紹下騰訊云ubuntu服務(wù)器tomcat訪問(wèn)慢的原因分析及解決方法,一起看看吧
    2016-10-10
  • apache中偽靜態(tài)配置和使用(Apache虛擬主機(jī)下Discuz偽靜態(tài))

    apache中偽靜態(tài)配置和使用(Apache虛擬主機(jī)下Discuz偽靜態(tài))

    apache中偽靜態(tài)配置和使用(Apache虛擬主機(jī)下Discuz偽靜態(tài)),需要的朋友可以參考下。
    2012-01-01
  • linux/OSX中“DD”命令制作ISO鏡像操作系統(tǒng)安裝U盤的方法

    linux/OSX中“DD”命令制作ISO鏡像操作系統(tǒng)安裝U盤的方法

    這篇文章主要介紹了linux/OSX中“DD”命令制作ISO鏡像操作系統(tǒng)安裝U盤的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • Windows10安裝Apache2.4的方法步驟

    Windows10安裝Apache2.4的方法步驟

    本文主要介紹了Windows10安裝Apache2.4的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2022-06-06
  • 利用Linux防火墻隔離本地欺騙地址的方法詳解

    利用Linux防火墻隔離本地欺騙地址的方法詳解

    防火墻,其實(shí)說(shuō)白了講,就是用于實(shí)現(xiàn)Linux下訪問(wèn)控制的功能的,它分為硬件的或者軟件的防火墻兩種。下面這篇文章主要給大家介紹了關(guān)于如何利用Linux防火墻隔離本地欺騙地址的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2018-05-05
  • linux下通過(guò)Squid反向代理搭建CDN緩存服務(wù)器的配置方法

    linux下通過(guò)Squid反向代理搭建CDN緩存服務(wù)器的配置方法

    在移動(dòng)機(jī)房放置一臺(tái)CDN代理服務(wù)器,通過(guò)智能DNS解析,讓電信用戶直接訪問(wèn)Web服務(wù)器、讓移動(dòng)用戶訪問(wèn)CDN代理服務(wù)器,解決移動(dòng)用戶訪問(wèn)Web服務(wù)器慢的問(wèn)題
    2013-06-06
  • 詳解centos7使用無(wú)線wifi連接的方法

    詳解centos7使用無(wú)線wifi連接的方法

    本篇文章主要介紹了centos7使用無(wú)線wifi連接的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-12-12

最新評(píng)論

中方县| 尼木县| 西城区| 峨眉山市| 郎溪县| 襄樊市| 永定县| 伊春市| 上虞市| 彩票| 马边| 古田县| 沐川县| 师宗县| 盐城市| 治多县| 霞浦县| 沧州市| 盐边县| 怀安县| 临澧县| 青海省| 含山县| 荥阳市| 金昌市| 无极县| 涿鹿县| 额敏县| 教育| 清徐县| 农安县| 于都县| 道孚县| 金寨县| 武山县| 桓仁| 江华| 胶州市| 西华县| 富锦市| 中西区|