shell | crontab 定時任務
阿新 • • 發佈:2019-01-04
在liunx系統下設定定時任務,也是工作中很有必要熟悉的工具
格式
* * * * * 直譯器 指令碼(可能會帶引數) >>printlog.log 2>&1
-- 第一顆星表示分鐘(0-59),第二顆星表示小時(0-23),第三顆星表示日(1-31),
-- 第四顆星表示月(1-12),第五顆星表示周幾(0-6,0表示週日)
使用
在shell端輸入
-- 展示已經有的任務,crontab -l # 表示註釋掉 crontab -l [[email protected] 流失喚醒]# crontab -l # */2 * * * * echo "Good morning" >>/data/流失喚醒/71/test.log 2>&1
# 00 5 4 jan * /usr/bin/python /data/流失喚醒/71/step1_loss_wakeup_0103_寬表.py -d 2019-01-03 -t 2 -b 19 >>/data/流失喚醒/71/71.log 2>&1 -- 編寫定時任務,rcontab -e [[email protected] 流失喚醒]# crontab -e # */2 * * * * echo "Good morning" >>/data/流失喚醒/71/test.log 2>&1 # 00 5 4 jan * /usr/bin/python /data/流失喚醒/71/step1_loss_wakeup_0103_寬表.py -d 2019-01-03 -t 2 -b 19 >>/data/流失喚醒/71/71.log 2>&1~ ~
案例
使用,這裡僅僅學習下crontab -e 和 crontab -l 就夠了,若是不使用了定時任務,將其註釋掉即可。
案例1:執行python指令碼
def run():
temp = 1+1
return temp
定時:每天下午2點執行
- 第一步:確認python直譯器所在目錄,在shell端輸入
which python
就能找到python直譯器的路徑
-
第二步:在shell端輸入crontab -e,這樣就進入了shell編輯區
-
第三步:此時的編輯區是非編輯狀態的,按下 i 表示編輯,此時進入編輯狀態,輸入程式碼如下
* 14 * * * /usr/bin/python /data/run.py >>/data/run.log 2>&1
定時:每天1點、5點、10點執行
* 1,5,10 * * * /usr/bin/python /data/run.py >>/data/run.log 2>&1
定時:每週2的下午3-6點之間,每隔5分鐘執行一次
*/5 15-18 * * * /usr/bin/python /data/run.py >>/data/run.log 2>&1
案例二:執行shell指令碼
shell指令碼如下
run.sh
echo "good morning"
進入編輯定時任務
第一步:找到shell直譯器位置,在shell端輸入which sh,結果如下
[[email protected] 流失喚醒]# which sh
/bin/sh
第二步:編輯定時
* 15-18 * * * /bin/sh /data/run.sh >>/data/run.log 2>&1
好了,關於crontab 設定定時任務的部落格就寫到這裡了,學會了,用於完成日常工作的需求也足夠。