CentOS 7定時執行python指令碼
阿新 • • 發佈:2020-12-02
CentOS 7定時執行python指令碼
在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指令碼
# test.py
print("hello world!")
通過Finalshell上傳到指定目錄下
修改配置檔案
[root@VM_0_8_centos script_py]# whereis crontab crontab: /usr/bin/crontab /etc/crontab [root@VM_0_8_centos script_py]# vim /etc/crontab # 檔案末尾新增 * * * * * root /usr/bin/python3 /data/script_py/test.py > test.log # 每分鐘 root身份執行 使用python3 執行 test.py 輸出到 test.log
重啟服務
systemctl restart crond
檢視日誌
[root@VM_0_8_centos script_py]# cat /root/test.log
hello world!
注意!
非常重要的一點是要用絕對路徑寫到命令,否則定時執行失敗。因此我們需要先弄清楚python的具體路徑。
# 檢視系統預設安裝的python2的路徑
[root@VM_0_8_centos ~]# which python
/usr/bin/python
# 檢視自行安裝的python3的路徑
[root@VM_0_8_centos ~]# which python3
/usr/bin/python3