linux cronjob 手工能夠執行 沒法自動執行的緣由???

最近常常碰到關於crontab不能執行的,初步總結了有如下幾個緣由: 第一,腳本的緣由:大多數狀況下,咱們要相信科學,相信計算機,不是有 鬼,就是咱們的腳本的問題,這種問題致使crontab不能執行的機率佔到70%以上。由於程序執行到某一步致使crontab終止執行,我就碰到一次在 遷移代碼的時候將數據庫連錯了。致使沒法訪問而死在那裏了。 第二,執行環境問題,當咱們碰到第一狀況下,通常均可以經過手動執行程序將問題扼殺在 搖籃裏,通常狀況下高手是不該該犯第一種錯誤的。問題是當咱們手動執行成功而crontab不能執行的時候,筆者碰到一次就是執行環境的問題,例如相關路 徑的設置問題。解決方案:在代碼最前面執行 source /home/user/.bash_profile 第三,系統時間不正確。這種問題最好理解,也是比較常見和隱蔽的問題,解決方案:date -s ******** 第四,就是咱們的腳本是否有可執行權限。必須保證執行腳本的用戶有執行改文件的權限。 第五,crontab 守護進程死掉了。這種狀況是極少發生的,但也不排除,當咱們實在是找不到其餘緣由的時候能夠用。解決方案:重啓該進程。 另外,介紹你們一個關於如何查看crontab最修修改時間的方法: 進入目錄/var/spool/cron/裏面會有N個用戶名爲文件名的文件,只要創建過crontab的用戶在這裏都會有以該用戶名爲文件名的文件,該文件的最後修改時間就是該用戶的的crontab的最後修改時間。just do it
相關文章
相關標籤/搜索