Linux下Crontab定時任務的使用教程 以及 無法執行定時任務的解決方案


 前言

本文學習思路:Linux的corntab定時任務的使用教程  --> 定時任務無效的解決方案

 Linux的corntab定時任務的使用教程

1. 首先,輸入命令 打開crontab定時任務設置  

crontab -e

2. 然后,按 i 鍵進入編輯狀態。將光標移動到最后一行。

2.1. crontab 任務格式如下:

minute hour day month week order

2.1.2 例子:

2.1.2.1.  假如我想每隔2分鍾就執行一次pwd命令。那么格式如下:(*代表任意時間都成立, 除以2表示間隔為2)

*/2  *  *  *  *  pwd

2.1.2.2.  假如我想每隔3小時就執行一次pwd命令。那么格式如下:

0  */3  *  *  *  pwd

2.1.2.3.  假如我想每天的6點30分執行一次pwd命令。那么格式如下:

30  6  *  *  *  pwd

2.1.2.4.  故,下面我要每隔2分鍾執行一次python腳本hello.py。那么格式如下(我的python在 /usr/bin/python)

*/2 * * * * /usr/bin/python /myfiles/hello.py

3. 在vim下按格式輸入定時任務后,按Esc,輸入wq保存退出。

4. 最后,視情況重啟crontab服務

4.1. centos:

service crond start //啟動服務
service crond stop //關閉服務
service crond restart //重啟服務

4.2. ubuntu:

/etc/init.d/cron stop
/etc/init.d/cron start

  

4.3. 假如以上兩種方法都無效,說明你當前的Linux系統是自動生效的。(一般是即時生效、無須重啟)

 

 定時任務無效的解決方案

終於到本文最激動的片段啦。因為下面的內容是經過我很多次折騰總結的。希望其中的一條能幫到你,幫你偷偷懶。

1. 我想定時執行ls命令,如" ls -l / ", 且我的命令如下,我感覺是對的,但就是沒有work。

*/10 * * * * ls -l /

解決方案:有可能crontab無法讀取環境變量或環境變量異常,所以寫ls的絕對路徑是最穩妥的。也就是將ls 改為 /usr/bin/ls。如下:

*/10 * * * * /usr/bin/ls -l /

 

2. 我的命令已經是絕對路徑,但是python腳本在crontab還是無法定時執行。或者,我在命令行下是正常的,但是在crontab中無效。

*/2 * * * * /usr/bin/python /myfiles/hello.py

解決方案:有可能你的hello.py文件沒有被執行的權限。所以只要幫hello.py加一個權限就好啦。

chmod +x hello.py

 

以上兩種問題,是目前大多博文出現的問題,而且也經過我偷懶人自身的經歷,確實是如此。

希望以上內容可以幫助各位老哥們在crontab的使用和問題解決上有所幫助。

 

 

本文博客地址:http://www.cnblogs.com/toulanboy/

原創文章,轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM