歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux/Unix crontab命令詳解

Linux/Unix crontab命令詳解

日期:2017/2/28 15:30:16   编辑:Linux教程

如果你的用戶名出現在/etc/cron.d/cron.allow 或 /usr/lib/cron/cron.allow中, 你就能夠執行Crontab命令,
如果系統沒cron.allow這個文件, 則如果你的名字沒有出現在/usr/lib/cron/cron.deny中, 你就能夠執行Crontab命令.
如果沒有cron.allow文件,但是有cron.deny文件,但是cron.deny文件為空 則所有人都可以執行crontab命令
如果上面兩個文件,系統都沒有,則只有root可以執行Crontabl.
這兩個文件的格式是: 每行一個用戶名
除了root一般用戶沒有默認的crontab 所以一開始要用crontab -e 創建crontab,不創建則crontab -l會報錯

所有用戶定義的 crontab 都被保存在 /var/spool/cron 目錄中
cron 守護進程每分鐘都檢查 /etc/crontab 文件、etc/cron.d/ 目錄、以及 /var/spool/cron 目錄中的改變。如果發現了改變,它們就會被載入內存。這樣,當某個 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優先,如果都不存在,只有超級用戶可以安排作業。

Copyright © Linux教程網 All Rights Reserved