1. 程式人生 > >shell | crontab 定時任務

shell | crontab 定時任務

在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指令碼

run.py

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 設定定時任務的部落格就寫到這裡了,學會了,用於完成日常工作的需求也足夠。