cron命令安排任務排程

2021-06-26 07:56:27 字數 1605 閱讀 4468

基本用法:

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分鐘執行打包程式

計畫任務的安排cron

1 迴圈執行的計畫任務linux下面有atd和crond兩種計畫任務,其中,atd服務使用的at命令只能執行一次,而crond服務使用的crontab定義的命令,是迴圈作用的,所以crond才符合我們的要求。crontab支援兩種狀態 一 直接編寫計畫任務 二 使用目錄的方式,放在目錄裡面的指令碼 ...

Linux學習六設定任務排程命令crontab

1.設定任務排程檔案 etc crontab 2.設定個人任務排程命令 crontab e 例如 0 2 date home mydate 表示每天2點執行這個date home mydate這個任務 3.怎麼執行多個排程任務 1 直接crontab e 中去編輯多個任務 2 將每一排程任務分別寫成...

spring task任務排程器之Cron表示式

cron表示式是乙個字串,字串以5或6個空格隔開,分為6或7個域,每乙個域代表乙個含義,cron有如下兩種語法格式 1 seconds minutes hours dayofmonth month dayofweek year 2 seconds minutes hours dayofmonth m...