天天看點

crontab指令詳解

crontab指令的功能是在一定的時間間隔排程一些指令的執行。在/etc目錄下有一個crontab檔案,這裡存放有系統運作的一些排程程式。每個使用者可以建立自己的排程crontab。

crontab指令有三種形式的指令行結構:

crontab [-u user] [file]

crontab [-u user] [-e|-l|-r]

crontab -l -u [-e|-l|-r] 第一個指令行中,file是指令檔案的名字。如果在指令行中指定了這個檔案,那麼執行crontab指令,則将這個檔案拷貝到crontabs目錄下;如果在指令行中沒有制定這個檔案,crontab指令将接受标準輸入(鍵盤)上鍵入的指令,并将他們也存放在crontab目錄下。

指令行中-r選項的作用是從/usr/spool/cron/crontabs目錄下删除使用者定義的檔案crontab;

指令行中-l選項的作用是顯示使用者crontab檔案的内容。

使用指令crontab -u user -e指令編輯使用者user的cron(c)作業。使用者通過編輯檔案來增加或修改任何作業請求。

執行指令crontab -u user -r即可删除目前使用者的所有的cron作業。

作業與它們預定的時間儲存在檔案/usr/spool/cron/crontabs/username裡。username使使用者名,在相應的檔案中存放着該使用者所要運作的指令。指令執行的結果,無論是标準輸出還是錯誤輸出,都将以郵件形式發給使用者。檔案裡的每一個請求必須包含以spaces和tabs分割的六個域。前五個字段可以取整數值,指定何時開始工作,第六個域是字元串,稱為指令字段,其中包括了crontab排程執行的指令。

第一道第五個字段的整數取值範圍及意義是:

0~59 表示分

1~23 表示小時

1~31 表示日

1~12 表示月份

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

/usr/lib/cron/cron.allow表示誰能使用crontab指令。如果它是一個空檔案表明沒有一個使用者能安排作業。如果這個檔案不存在,而有另外一個檔案/usr/lib/cron/cron.deny,則隻有不包括在這個檔案中的使用者才可以使用crontab指令。如果它是一個空檔案表明任何使用者都可安排作業。兩個檔案同時存在時cron.allow優先,如果都不存在,隻有超級使用者可以安排作業。

繼續閱讀