crontab 詳細用法,定時任務,時間規則

2021-09-24 10:14:55 字數 2521 閱讀 5401

linux crontab和windows task schedules非常的相似。crontab可以用來在系統中定期的執行任務。比如:寫了乙個爬蟲需要每天早上八點執行,就可以用到crontab;安裝的tomcat伺服器需要每天凌晨重啟一次,也可以使用到crontab。總之,幾乎所有的定時任務,我們都可以通過crontab這個工具來完成。

安裝:

apt-get install cron
檢視crontab命令集合

檢視當前系統登入使用者的crontab命令集合

crontab -l

檢視其他使用者的crontab命令集合

crontab -u username -l

1.每天 02:00 執行任務

0 2 * * * /bin/sh backup.sh
2.每天 5:00和17:00執行任務

0 5,17 * * * /scripts/script.sh
3.每分鐘執行一次任務

通常情況下,我們並沒有每分鐘都需要執行的指令碼(默默的想到了12306–)

* * * * *  /scripts/script.sh
4.每週日 17:00 執行任務

0 17 * * sun  /scripts/script.sh
5.每 10min 執行一次任務

*/10 * * * * /scripts/monitor.sh
6.在特定的某幾個月執行任務

* * * jan,may,aug * /script/script.sh
7.在特定的某幾天執行任務

0 17 * * sun,fri /script/scripy.sh
在每週

五、週日的17點執行任務

8.在某個月的第乙個週日執行任務

0 2 * * sun  [ $(date +%d) -le 07 ] && /script/script.sh
9.每四個小時執行乙個任務

0 */4 * * * /scripts/script.sh
10.每週

一、週日執行任務

0 4,17 * * sun,mon /scripts/script.sh
11.每個30秒執行一次任務

我們沒有辦法直接通過上訴類似的例子去執行,因為最小的是1min。但是我們可以通過如下的方法。

* * * * * /scripts/script.sh

* * * * * sleep 30; /scripts/script.sh

12.多個任務在一條命令中配置

* * * * * /scripts/script.sh; /scripts/scrit2.sh
13.每年執行一次任務

@yearly /scripts/script.sh
@yearly 類似於「0 0 1 1 *」。它會在每年的第一分鐘內執行,通常我們可以用這個傳送新年的問候。

14.系統重啟時執行

@reboot /scripts/script.sh
15.將 cron 結果重定向的特定的賬戶

預設情況下,cron 只會將結果詳情傳送給 cron 被制定的使用者。如果需要傳送給其他使用者,可以通過如下的方式:

# crontab -l

mail=bob

0 2 * * * /script/backup.sh

16.將所有的 cron 命令備份到文字檔案當中

這是乙個當我們丟失了cron命令後方便快速的乙個恢復方式。

下面是利用這個方式恢復cron的乙個小例子。(看看就行~)

首先:檢查當前的cron

# crontab -l

mail=rahul

0 2 * * * /script/backup.sh

然後:備份cron到檔案中

# crontab -l > cron-backup.txt

# cat cron-backup.txt

mail=rahul

0 2 * * * /script/backup.sh

接著:移除當前的cron

# crontab -r

# crontab -l

no crontab for root

恢復:從text file中恢復

# crontab cron-backup.txt

# crontab -l

mail=rahul

0 2 * * * /script/backup.sh

crontab 詳細用法 定時任務

使用crontab你可以在指定的時間執行乙個shell指令碼或者一系列linux命令。例如系統管理員安排乙個備份任務使其每天都執行 如何往 cron 中新增乙個作業?crontab e 0 5 root bin backup.sh 這將會在每天早上5點執行 root bin backup.sh cr...

crontab 詳細用法 定時任務

crontab 詳細用法 定時任務 使用 crontab你可以在指定的時間執行乙個shell指令碼或者一系列linux命令。例如系統管理員安排乙個備份任務使其每天都執行 如何往 cron 中新增乙個作業?crontab e 0 5 root bin backup.sh 這將會在每天早上5點執行 ro...

crontab 詳細用法 定時任務

使用crontab你可以在指定的時間執行乙個shell指令碼或者一系列linux命令。例如系統管理員安排乙個備份任務使其每天都執行 如何往 cron 中新增乙個作業?crontab e 0 5 root bin backup.sh 這將會在每天早上5點執行 root bin backup.sh cr...