解決ubuntu下定時任務不執行問題

2021-08-14 12:18:48 字數 1204 閱讀 3812

1)輸入crontab -e命令,根據提示直接在當前cron task文字最後面插入如下命令(記得回車):

* * * * * echo "hello world!"

sudo vim /var/spool/cron/crontabs/waterfronter             #注:waterfronter為當前使用者名稱

同樣在檔案末行插入:

* * * * * echo "hello world!"

儲存退出,並通過crontab -l檢視定時任務建立成功。

2、然後等待,若干分鐘後發現螢幕並未輸出"hello world!"怎麼回事?!

1)剛開始懷疑是cron服務沒有啟動,遂執行:

sudo service cron status

發現cron服務是running的,排除;

2)繼而懷疑是任務檔案建立後未能被系統及時get到,因而執行:

sudo service cron restart

重啟cron後問題依舊,排除;

3)於是進一步檢視cron執行日誌(/var/log/cron.log),但是並未找到相關檔案,原因是ubuntu預設沒有開cron日誌,執行命令:

sudo vim /etc/rsyslog.d/50-default.conf

找到cron.log相關行,將前面注釋符#去掉,儲存退出,重啟rsyslog:

sudo  service rsyslog  restart

執行less -10 

/var/log/cron.log再次檢視cron執行日誌,log出來了,提示如下資訊:

no mta installed, discarding output

原因是cron把螢幕輸出都傳送到email了,而當前環境並未安裝email server,於是系統報錯,解決方面就是不要直接向螢幕輸出內容,而是重定向到乙個檔案。

3、修改任務檔案

sudo vim 

/var/spool/cron/crontabs/waterfronter

將末行改為:

* * * * * echo "hello world!" >> /tmp/cron_log.txt

儲存退出,同時reload cron服務:

sudo service cron reload

若干分鐘後檢視/tmp/cron_log.txt,「hello world!」每隔一分鐘輸出一次,問題解決。

解決ubuntu下定時任務不執行問題

1 首先建立乙個定時任務 每分鐘向螢幕輸出 hello world 有兩種實現方式 1 輸入crontab e命令,根據提示直接在當前cron task文字最後面插入如下命令 記得回車 echo hello world sudo vim var spool cron crontabs waterfr...

解決ubuntu下定時任務不執行問題

1 首先建立乙個定時任務 每分鐘向螢幕輸出 hello world 有兩種實現方式 1 輸入crontab e命令,根據提示直接在當前cron task文字最後面插入如下命令 記得回車 echo hello world sudo vim var spool cron crontabs waterfr...

Ubuntu下定時任務的實現

ubuntu下定時任務的實現 專案中需要在ubuntu下設定乙個每隔五分鐘執行一次python指令碼的任務,因此需要使用cron來實現定時任務,下面簡單介紹一下cron的使用方式。第22行是命令格式內容的提示 m h dom mon dow command 第23行為自定義的任務,含義是每五分鐘執行...