1. 程式人生 > 程式設計 >CentOS 7如何實現定時執行python指令碼

CentOS 7如何實現定時執行python指令碼

在CentOS下,可以使用crontab進行定時任務的處理。

一、crontab的安裝

預設情況下,CentOS 7中已經安裝有crontab,如果沒有安裝,可以通過yum進行安裝。

yum install crontabs

二、crontab的定時語法說明

corntab中,一行程式碼就是一個定時任務,其語法結構可以通過這個圖來理解。

CentOS 7如何實現定時執行python指令碼

字元含義如下:

* 代表取值範圍內的數字
/ 代表"每"
- 代表從某個數字到某個數字
,代表離散的取值(取值的列表)  

一些常用的時間寫法如下:

* * * * * //每分鐘執行
* */4 * * * //每4小時執行
0 4 * * * //每天4點執行
0 12 */2 * * //每2天執行一次,在12點0分開始執行

* * * * 0 //每週日執行
* * * * 6,0 //每週六、日執行
5 * * * * //每小時的第5分鐘執行

三、配置定時執行python指令碼

由於是需要定時執行python指令碼,所以應該使用如下命令:

python xxx.py

但是非常重要的一點是要用絕對路徑寫到命令,否則定時執行失敗。因此我們需要先弄清楚python的具體路徑。

我們在伺服器上有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指令碼時也需要注意,其中如果有對檔案進行操作,也應該使用絕對路徑。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。