/*********************************************************************
* Author : Samson
* Date : 08/08/2012
* Test platform:
* GNU Linux version 2.6.29.4
* gcc version 4.4.0 20090506 (Red Hat 4.4.0-4) (GCC)
* *******************************************************************/
crontab 是用來讓使用者在固定時間或固定間隔執行程式之用,換句話說,也就是類似使用者的時程表。-u user 是指設定指定 user 的時程表,這個前提是你必須要有其權限(比如說是 root)才能夠指定他人的時程表。如果不使用 -u user 的話,就是表示設定自己的時程表。
參數 :
-e [UserName]: 執行文字編輯器來設定時程表,內定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設定 VISUAL 環境變數來指定使用那個文字編輯器(比如說 setenv VISUAL joe)
-r [UserName]: 刪除目前的時程表
-l [UserName]: 列出目前的時程表
-v [UserName]:列出用戶cron作業的狀態
基本格式 :
* * * * * command
分 時 日 月 周 命令
第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要運行的命令
例子:
例如:每2分鐘執行一個shell文件,則使用:
crontab -e 打開配置文件,在最後輸入:
*/2 * * * * /home/samson/crontabtest/test.sh
每兩小時為:
* */2 * * * shellprogram_name
其它依此類推。
注意:/home/samson/crontabtest/test.sh要有可執行的權限喲。
配置完成後,保存,再執行:
/etc/init.d/crond restart 或 service crond restart
進行重新啟動,以便新加入的條目能夠生效。
/home/samson/crontabtest/test.sh的內容為:
#!/bin/bash
datetime=`date`
echo -e "write time is ${datetime} \n" >> /home/samson/yygydjtkhhh
echo -e "this is crontab test " >> /home/samson/yygydjtkhhh
echo -e "end\n" >> /home/samson/yygydjtkhhh
則我們可以查看:
[root@UFO crontabtest]# cat /home/samson/yygydjtkhhh
write time is Thu Aug 9 09:32:01 CST 2012
this is crontab test
end
write time is Thu Aug 9 09:34:01 CST 2012
this is crontab test
end