首頁 > 系統教程 > Linux > 主體

Linux 定時任務不執行怎麼辦?一文教你排查方法

王林
發布: 2024-07-18 10:09:34
原創
659 人瀏覽過

Linux 定时任务不执行怎么办?一文教你排查方法

實現linux定時任務有:cron、anacron、at等,但平時工作中接觸到的是cron服務。 cron是服務名稱,crond是後台進程,crontab是定做好的計畫任務表。專案中常常用到定時任務實現個別功能,近來遇見定時任務不執行的情況,因為之前對這個不太了解,費時吃力,最後終於找到問題所在。為此想跟你們分享一下排查技巧,之後少走彎路。

1.查看crond服務是否執行。

透過指令pgrepcrond或/sbin/servicecrondstatus可查看到crond的進程pid,可以確定crond服務是否在運作。

2.查看cron服務是否起作用:

linux定时任务不执行_定时执行任务代码_定时执行任务软件

使用指令sudotail–f/var/log/cron

只要在這個log上面出現指令就表示執行了。走到這一步的時侯linux 輸入法,我發覺log裡面並沒有執行的記錄,那表示我的定時任務並沒有執行。

linux定时任务不执行_定时执行任务代码_定时执行任务软件

3.這麼接出來就要排查為何沒有執行,大約有以下幾種情況:

(1)腳本:腳本問題引起crontab不執行的機率是很高的,也是最為常見的,那沒辦法,只能查看腳本。可以將腳本自動執行下,看是否報錯,若報錯就偵測腳本;

linux定时任务不执行_定时执行任务软件_定时执行任务代码

自動執行成功,排查是否為環境變數引起crontab執行失敗。任務的執行環境為目前使用者或指定使用者的執行環境linux定時任務不執行,所以,編碼時linux定時任務不執行,盡量透過全路徑名引用檔案或呼叫命令,或則將引用的文件或則命令的路徑加入環境變數。

(2)系統時間不同,也會造成定時任務不執行,此時你就要查看系統時間

Date(查看)

Date–smm/dd/yy(修改系統時間)

(3)crontab守護程式跑掉了,重啟該程式;

servicecrondrestart

(4)腳本編碼有問題;

腳本在window下編撰linux rar,傳到linux下後報“鋨?!/bin/bash”,用vi編輯器新建新shell腳本,輸入內容後保存。

(5)查看腳本是否有可執行權限。必須確保執行腳本的使用者有執行改文件的權限。

以上是Linux 定時任務不執行怎麼辦?一文教你排查方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:itcool.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!