任務調度工具之cron

00 背景

我們經常需要設置任務在某個時間或每隔一段時間運行。這時候任務調度工具可以解決問題此類定時調度任務場景問題。本篇介紹Linux系統中的cron任務調度工具。

01 cron介紹

在linux系統中,有一個cron表文件,它存儲了執行腳本路徑或者命令和執行腳本時間。cron任務調度工具便是通過它來實現定時調度任務。
那麼如何創建cron任務呢?
cron任務是存在於cron表中的,需要了解cron表的格式,格式爲:分 時 日 月 工作日 命令。
按照cron表格式,創建一個cron任務。首先要編輯cron表,使用crontab -e命令編輯cron表。

*/01 * * * * /home/hadoop/training/cron/print.sh

上面便是在cron表中創建了一個cron任務,接下來只要保存cron表,便可以定時調度該任務。

02 模擬訓練

準備一個專門的任務文件存儲cron任務,然後運行crontab 任務文件命令,便可以定時調度該任務。
創建任務文件:

touch task.cron

寫入以下內容:

*/01 * * * * /home/hadoop/training/cron/print.sh

上面的內容表示每分鐘調度一次任務。查看print.sh腳本內容。
print
腳本的功能是將執行腳本時間重定向到print.log日誌文件中,我們使用下面命令監聽文件內容的變化,驗證是否成功進行定時調度。

tail -f /home/hadoop/training/cron/print.log

執行crontab task.cron命令。觀察日誌文件內容變化。
log
可以看到cron定時調度任務成功。

補充

1.*表示每個時間段都會執行。如果*出現在對應"分 時 日 月 工作日"的位置,表示每分、每時、每日、每月、每個工作日。
2.如果在特定的時間段執行任務,就在對應格式位置上指定想要的時間段,並用逗號作爲分隔符。
例:

* * 20,21 * * /home/hadoop/training/cron/print.sh

表示每個月20、21號執行任務。
3、如果想在特定的時間間隔執行任務,可以在對應格式位置上使用*/
例:

*/01 * * * * /home/hadoop/training/cron/print.sh

表示每隔一分鐘執行一次任務。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章