linux crontab 定時任務

2022-06-22 13:09:10 字數 1916 閱讀 3587

linux內建的cron可以幫我們實現定時任務(備份資料庫資料、刪除服務日誌等),cron + shell指令碼,再複雜的指令都沒有問題。

/var/spool/cron:該目錄下,存放的是每個使用者(包括root)的crontab任務,每個任務以建立者的名字命名

/etc/crontab:該檔案裡,存放的是系統任務的任務列表

/etc/cron.d、/etc/cron.daily、/etc/cron.weekly...:這些目錄下,存放任何要執行的crontab檔案或指令碼(平時不太用到)

2. crontab命令使用

crontab  [-u  username]   //省略則表示當前使用者

-e:編輯工作表

-l:列出工作表

-r:刪除工作表

3. crontab檔案說明

格式:

minute hour day month dayofweek command

分、時、日、月、周,共5種
操作符:

*取值範圍內的所有數字

,雜湊數字

-從a到b
/每隔多少個數字 

例項:

* * * * *mycommand     # 每1分鐘執行一次mycommand

3,15 * * * *mycommand # 每小時的第3和第15分鐘執行

3,15 8-11 * * *mycommand # 在上午8點到11點的第3和第15分鐘執行

3,15 8-11 */2 * * mycommand # 每隔兩天的上午8點到11點的第3和第15分鐘執行

3,15 8-11 * * 1mycommand # 每週一上午8點到11點的第3和第15分鐘執行

30 21 * * *mycommand # 每晚的21:30執行

45 4 1,10,22 * * mycommand # 每月1、10、22日的4 : 45執行

10 1 * * 6,0mycommand # 每週

六、週日的1 : 10執行

0,30 18-23 * * *mycommand # 每天18 : 00至23 : 00之間每隔30分鐘執行

0 23 * * 6 mycommand # 每星期六的晚上11 : 00pm執行

* */1 * * * mycommand # 每一小時執行

* 23-7/1 * * * mycommand # 晚上11點到早上7點之間,每隔一小時執行

4. crontab服務5. 例項假如當前為root使用者,新增乙個定時任務,操作步驟如下:

2. 通過chmod賦予.sh指令碼可執行許可權:chmod +x test123.sh

3. 編輯vim /var/spool/cron/root檔案,或執行crontab -e,編輯任務列表,將第一步中的sh指令碼新增到任務列表中

本例中,將sh指令碼列印的hello world輸出到2.log日誌檔案中,每分鐘執行一次

4. 檢視結果

可以看到,實際每分鐘列印一行hello world!

ps:如果是修改系統任務,則需要加上使用者名稱,如下:

linux crontab 定時任務

通過crontab 命令,我們可以在固定的間隔時間執行指定的系統指令或 shell script指令碼。時間間隔的單位可以是分鐘 小時 日 月 周及以上的任意組合。這個命令非常適合週期性的日誌分析或資料備份等工作。命令格式 crontab e l 例如 每隔15分鐘 0,15,30,45 bin e...

Linux Crontab 定時任務

crontab檔案 bash vat command not found hadoop master1 etc cat crontab shell bin bash path sbin bin usr sbin usr bin mailto root home for details see man...

Linux Crontab 定時任務

一 crontab介紹 crontab命令的功能是在一定的時間間隔排程一些命令的執行。1.1 etc crontab檔案 在 etc目錄下有乙個crontab檔案,這裡存放有系統執行的一些排程程式。每個使用者可以建立自己的排程crontab 在 var spool cron目錄下 以下是我本機上的c...