天天看點

cron指令安排任務排程

cron指令 基本用法:

1. crontab -l

列出目前的crontab任務

2. crontab -d

删除目前的crontab任務

3. crontab -e (solaris5.8上面是 crontab -r)

編輯一個crontab任務,ctrl_D結束

4. crontab filename

以filename做為crontab的任務清單檔案并載入

crontab test.cron

  這樣一個crontab 檔案就建立好了。可以轉到/var/spool/cron目錄下面檢視,發現多了一個foxy檔案。這個檔案就是所需的crontab檔案。在crontab檔案中如何輸入需要執行的指令和時間呢?該檔案中每行都包括6個域,其中前5個域是指定指令被執行的時間,最後一個域是要被執行的指令。每個域之間使用空格或者跳位字元分隔。格式如下:minute hour day-of-month month-of-year day-of-week commands第1項是分鐘,第2項是小時,第3項是一個月的第幾天,第4項是一年的第幾個月,第5項是一周的星期幾,第6項是要執行的指令。這些項都不能為空,必須填入。如果使用者不需要指定其中的幾項,那麼可以使用*代替。因為*是萬用字元,可以代替任何字元,是以就可以認為是任何時間,也就是該項被忽略了。

例子:

1.周一到周五每天下午 5:00 寄一封信給 [email protected] : 

0 17 * * 1-5 mail -s "hi" [email protected]  /dev/null 2>&1 即可 (這個未經過實驗)

2.#crontab -e

然後寫入8 * * * * tar -zcf /home/sunbaigui/backup.tgz /home/sunbaigui/Documents/OSG/

再打入指令#/etc/init.d/cron restart

這樣這個任務就建好了,它會在每個時刻的第8分鐘執行打包程式

f1 f2 f3 f4 f5 program

其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執行的程式。

當 f1 為 * 時表示每分鐘都要執行 program,f2 為 * 時表示每小時都要執行程式,其餘類推

當 f1 為 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間内要執行,f2 為 a-b 時表示從第 a 到第 b 小時都要執行,其餘類推

當 f1 為 */n 時表示每 n 分鐘個時間間隔執行一次,f2 為 */n 表示每 n 小時個時間間隔執行一次,其餘類推

當 f1 為 a, b, c,... 時表示第 a, b, c,... 分鐘要執行,f2 為 a, b, c,... 時表示第 a, b, c...個小時要執行,其餘類推

0~59 表示分

1~23 表示小時

1~31 表示日

1~12 表示月份

0~6 表示星期(其中0表示星期日)

3.在2的基礎上将後面的指令寫入hello.sh

然後将上面的指令改為16 * * * * /home/sunbaigui/hello.sh

再restart cron 這樣它就會在每個時刻的第16分鐘執行打包程式

繼續閱讀