linux crontab和windows task schedules非常的相似。crontab可以用來在系統中定期的執行任務。比如:寫了乙個爬蟲需要每天早上八點執行,就可以用到crontab;安裝的tomcat伺服器需要每天凌晨重啟一次,也可以使用到crontab。總之,幾乎所有的定時任務,我們都可以通過crontab這個工具來完成。
yum install cronie`
crontab結構.png
從左到右依次為:
[分鐘] [小時] [每月的某一天] [每年的某一月] [每週的某一天] [執行的命令]
注意:請留意每個選項的取值範圍。
crontab -e
預設情況下,系統會編輯當前登入使用者的crontab命令集合。需要編輯其他使用者的命令集合,需要使用到如下的命令
crontab -u username -e
crontab -l
crontab -u username -l
每天 02:00 執行任務
0
2 * * * /bin/sh backup.sh
每天 5:00和17:00執行任務
0
5,17 * * * /scripts/script.sh
每分鐘執行一次任務
通常情況下,我們並沒有每分鐘都需要執行的指令碼(默默的想到了12306--)
* * * * * /scripts/script.sh
每週日 17:00 執行任務
0 17 * * sun /scripts/script.sh
每 10min 執行一次任務
*/10 * * * * /scripts/monitor.sh
在特定的某幾個月執行任務
* * * jan,may,aug * /script/script.sh
在特定的某幾天執行任務
0 17 * * sun,fri /script/scripy.sh
在每週
五、週日的17點執行任務
在某個月的第乙個週日執行任務
0
2 * * sun [ $(date +%d) -le 07 ] && /script/script.sh
每四個小時執行乙個任務
0 */4 * * * /scripts/script.sh
每週
一、週日執行任務
0 4,17 * * sun,mon /scripts/script.sh
每個30秒執行一次任務
我們沒有辦法直接通過上訴類似的例子去執行,因為最小的是1min。但是我們可以通過如下的方法。
* * * * * /scripts/script.sh
* * * * * sleep 30; /scripts/script.sh
多個任務在一條命令中配置
* * * * * /scripts/script.sh; /scripts/scrit2.sh
每年執行一次任務
@yearly /scripts/script.sh
@yearly 類似於「0 0 1 1 *」。它會在每年的第一分鐘內執行,通常我們可以用這個傳送新年的問候。
每月執行一次任務
@yearly /scripts/script.sh
每週執行一次任務
@yearly /scripts/script.sh
每天執行一次任務
@yearly /scripts/script.sh
每分鐘執行一次任務
@yearly /scripts/script.sh
系統重啟時執行
@reboot /scripts/script.sh
將 cron 結果重定向的特定的賬戶
預設情況下,cron 只會將結果詳情傳送給 cron 被制定的使用者。如果需要傳送給其他使用者,可以通過如下的方式:
# crontab -l
mail=bob
02 * * * /script/backup.sh
將所有的 cron 命令備份到文字檔案當中
這是乙個當我們丟失了cron命令後方便快速的乙個恢復方式。
下面是利用這個方式恢復cron的乙個小例子。(看看就行~)
首先:檢查當前的cron
# crontab -l
mail=rahul
02 * * * /script/backup.sh
然後:備份cron到檔案中
# crontab -l > cron-backup.txt
# cat cron-backup.txt
mail=rahul
02 * * * /script/backup.sh
接著:移除當前的cron
# crontab -r
# crontab -l
no crontab for root
恢復:從text file中恢復
# crontab cron-backup.txt
# crontab -l
mail=rahul
02 * * * /script/backup.sh
crontab in linux with 20 useful examples to schedule jobs 關於定時執行 crontab
一 修改crontab vim etc crontab 二 如何檢視crontab定時任務是否執行 方法 步驟1 1 針對linux系統的查詢方法 含redhat suse 看 var log cron這個檔案就可以,可以用tail f var log cron觀察 配圖為系統aix root使用者...
ubuntu定時執行任務crontab的使用
crontab單詞的意思是 定時任務。看看百科定義 完整定義 crontab命令常見於unix和類unix的作業系統之中,用於設定週期性被執行的指令。該命令從標準輸入裝置讀取指令,並將其存放於 crontab 檔案中,以供之後讀取和執行。該詞 於希臘語 chronos 原意是時間。通常,cronta...
ubuntu定時執行任務crontab的使用
先來說下場景,需要寫乙個爬蟲,定時從某個介面位址獲取資料,然後存入本地資料庫。因此就需要乙個可定時執行的東西,之前在the5fire的知識體系中除了可以在資料庫中定時執行某個儲存過程或者sql語句,如何在系統中定時執行某個任務還沒有概念。於是,請教了同事。知道在ubuntu中,準確的說是在linux...