語法介紹
使用權限 : root用戶和crontab文件的所有者
語法: crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ]
說明 : crontab 是用來讓使用者在固定時間或固定間隔執行程式之用,換句話說,也就是類似使用者的時程表。-u user 是指設定指定 user 的時程表,這個前提是你必須要有其權限(比如說是 root)才能夠指定他人的時程表。如果不使用 -u user 的話,就是表示設定自己的時程表。
參數 :
-e [UserName]: 執行文字編輯器來設定時程表,內定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設定 VISUAL 環境變數來指定使用那個文
-r [UserName]: 刪除目前的時程表
-l [UserName]: 列出目前的時程表
-v [UserName]:列出用戶cron作業的狀態 。
使用方法:
a b c d e program
其中 a 是表示分鐘,b 表示小時,c 表示一個月份中的第幾日,d 表示月份,e 表示一個星期中的第幾天。program 表示要執行的程式。
當 a 爲 * 時表示每分鐘都要執行 program,b 爲 * 時表示每小時都要執行程式,其餘類推
當 a 爲 a1-b2 時表示從第 a1 分鐘到第 a2 分鐘這段時間內要執行,b 爲 b1-b2 時表示從第 b1 到第 b2 小時都要執行,其餘類推
當 a 爲 */n 時表示每 n 分鐘個時間間隔執行一次,b 爲 */n 表示每 n 小時個時間間隔執行一次,其餘類推
當 a 爲 a1, a2, a3,... 時表示第 a1, a2, a3,... 分鐘要執行,b 爲 b1, b2, b3,... 時表示第 b1, b2, b3...個小時要執行,其餘類推
使用者也可以將所有的設定先存放在檔案 file 中,用 crontab file 的方式來設定時程表。
例子:
0 */2 * * * /usr/local/test.sh
該命令行表示每兩小時執行一次test.sh腳本
0 9 * * 1 /usr/local/test.sh
該命令表示每週一9點執行該程序,如果將0 改爲* 則在9點至十點的每一分鐘都會執行該程序,(0-6)表示周幾 ,0表示週日,6表示週六。
如果設置好自動執行想查看程序是否執行可查看log日誌:
tail -f /var/log/cron
列出crontab文件內容
爲了列出crontab文件,可以用: $crontab -l
編輯crontab文件
如果希望添加、刪除或編輯crontab文件中的條目,而EDITOR環境變量又設置爲vi,那麼就可以用vi來編輯crontab文件,相應的命令爲:
$ crontab -e
可以像使用vi編輯其他任何文件那樣修改crontab文件並退出。
刪除crontab文件
爲了刪除crontab文件,可以用: $ crontab -r
恢復丟失的crontab文件
如果不小心誤刪了crontab文件,假設你在自己的$HOME目錄下還有一個備份,那麼可以將其拷貝到/var/spool/cron/<username>,其中<username >是用戶名。如果由於權限問題無法完成拷貝,可以用: $ crontab <filename> 其中,<filename>是你在$HOME目錄中副本的文件名。