在CentOS下,可以使用crontab進行定時任務的處理。
一、crontab的安裝
默認情況下,CentOS 7中已經安裝有crontab,如果沒有安裝,可以通過yum進行安裝。
yum install crontabs
二、crontab的定時語法說明
corntab中,一行代碼就是一個定時任務,其語法結構可以通過這個圖來理解。
字符含義如下:
* 代表取值范圍內的數字 / 代表"每" - 代表從某個數字到某個數字 , 代表離散的取值(取值的列表)
一些常用的時間寫法如下:
* * * * * //每分鍾執行 * */4 * * * //每4小時執行 0 4 * * * //每天4點執行 0 12 */2 * * //每2天執行一次,在12點0分開始運行 * * * * 0 //每周日執行 * * * * 6,0 //每周六、日執行 5 * * * * //每小時的第5分鍾執行
三、配置定時執行python腳本
由於是需要定時執行python腳本,所以應該使用如下命令:
python xxx.py
但是非常重要的一點是要用絕對路徑寫到命令,否則定時運行失敗。因此我們需要先弄清楚python的具體路徑。
參考之前寫的一篇python安裝的文章https://www.cnblogs.com/yangjisen/p/13171063.html,我們在服務器上有python2和python3兩個版本,通過如下命令來查看其安裝路徑。
# which python //查看系統默認安裝的python2的路徑 /usr/bin/python # which python3 //查看自行安裝的python3的路徑 /usr/bin/python3
用如下命令查看當前系統中的定時任務列表
# crontab -l
對crontab進行編輯
# crontab -e
在其中增加如下的內容(每小時的00分執行一個獲取微信accesstoken的py腳本),注意python的版本用到了3
00 * * * * /usr/bin/python3 /usr/local/wechatapi/wechat_accesstoken.py
完成后,可以重啟一下crontab的服務即可。
service crond restart
*我們在編寫py腳本時也需要注意,其中如果有對文件進行操作,也應該使用絕對路徑。