CentOS7 使用定時任務
這里以定時執行python腳本示例
1. centos7 安裝定時任務
2. centos7 安裝python3
3. 創建test.py文件編寫python腳本,腳本中輸出當前時間
import datetime
print(datetime.datetime.now())
4. 編輯定時任務
執行 crontab -e 打開編輯定時任務頁面
在編輯頁面輸入:
*/1 * * * * /usr/local/bin/python3 /usr/local/sh/test.py >> /usr/local/sh/result.txt 2>&1
/usr/local/bin/python3 是python3編譯器的完整路徑
/usr/local/sh/test.py 是執行腳本的完整路徑
/usr/local/sh/result.txt 是將控制台的標准輸出流和標准錯誤流都重定向到文件的完整路徑
注意:使用定時任務時,路徑都必須為完整路徑
執行 crontab -l 可以查看已有的定時任務
5. crontab 時間格式說明
格式為 : * * * * *
時間設定段(*表示任何時段)
解釋 | minute | hour | day of mouth | month of year | day of week |
---|---|---|---|---|---|
* | * | * | * | * | |
含義 | 每個小時的第幾分鍾執行該任務 | 每天的第幾個小時執行該任務 | 每月的第幾天執行該任務 | 每年的第幾個月執行該任務 | 每周的第幾天執行該任務 |
取值范圍 | 0~59 | 0~23 | 1~31 | 1~12 | 0~6(0表示周天) |
* :表示任意的時刻;如小時位 * 則表示每個小時
n :表示特定的時刻;如小時位 5 就表示5時
n,m :表示特定的幾個時刻;如小時位 1,10 就表示1時和10時
n-m :表示一個時間段;如小時位 1-5 就表示1到5點
*/n : 表示每隔多少個時間單位執行一次;如小時位 */1 就表示每隔1個小時執行一次命令,也可以寫成 1-23/1
示例:
5 * * * * Command 每小時的第5分鍾執行一次命令
30 18 * * * Command 指定每天下午的 6:30 執行一次命令
30 7 8 * * Command 指定每月8號的7:30分執行一次命令
30 5 8 6 * Command 指定每年的6月8日5:30執行一次命令
30 6 * * 0 Command 指定每星期日的6:30執行一次命令
每天的下午4點、5點、6點的5 min、15 min、25 min、35 min、45 min、55 min時執行命令。
5,15,25,35,45,55 16,17,18 * * * Command
6. 查看result.txt文件,每分鍾都會打印出一個如下時間說明設置定時任務成功
2020-06-23 23:25:01.398091
2020-06-23 23:26:01.460073
2020-06-23 23:27:01.502959
2020-06-23 23:28:01.562219
2020-06-23 23:29:01.616191