crontab使用
這個東西以前一直都知道,不過真沒實際使用.現在希望他每天幫我去同步源.所以就深入學習一下這個
yum install crontabs 注意啊,是crontabs 不過現在的系統,默認是已經安裝好,默認是不啟動,你只需要啟動該服務就可以. /etc/init.d/crond start chkconfig crond on 這個時候,你就可以使用–l 參數來查看當前用戶的計劃任務。 # crontab -l 30 21 * * * /root/ubuntu_mirror.sh 添加計劃任務, crontab -e 就可以進入vi編輯器.比較簡單. 下面這些例子,倒是很全面,直接參考就基本可以滿足我的需求. http://www.cppblog.com/API/archive/2012/03/28/169237.html 參數: -e編輯該用戶的計時器設置。 -l列出該用戶的計時器設置。 -r刪除該用戶的計時器設置。 -u<用戶名稱>指定要設定計時器的用戶名稱。 2,crontab 格式 基本格式: * * * * * command 分時日月週命令 第1列表示分鐘1~59每分鐘用*或者*/1表示 第2列表示小時1~23(0表示0點) 第3列表示日期1~31 第4列表示月份1~12 第5列標識號星期0~6(0表示星期天) 第6列要運行的命令crontab特殊的符號說明: “*”代表所有的取值範圍內的數字。特別要注意哦!“/”代表每的意思,如”*/5″表示每5個單位“-”代表從某個數字到某個數字“,”分散的數字 crontab文件的一些例子: 30 21 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每晚的21:30重啟apache。 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每月1、 10、22日的4 : 45重啟apache。 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每週六、週日的1 : 10重啟apache。 0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟apache。 0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每星期六的11 : 00 pm重啟apache。 * */1 * * * /usr/local/etc/rc.d/lighttpd restart 每一小時重啟apache * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart 晚上11點到早上7點之間,每隔一小時重啟apache 0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart 每月的4號與每週一到週三的11點重啟apache 0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart 一月一號的4點重啟apache */30 * * * * /usr/sbin/ntpdate 210.72.145.44 每半小時同步一下時間 ——————————– 如何查看crontab的日誌記錄——————————————————– 昨天crontab中的同步任務沒有執行,不知道是什麼原因沒有執行,貌似任務hang住了,想查詢一下crontab到底問題出在哪裡,或者hang在了什麼地方。 1. linux 看/var/log/cron這個文件就可以,可以用tail -f /var/log/cron觀察 2. unix 在/var/spool/cron/tmp文件中,有croutXXX001864的tmp文件,tail這些文件就可以看到正在執行的任務了。 3. mail任務 在/var/spool/mail/root文件中,有crontab執行日誌的記錄,用tail -f /var/spool/mail/root即可查看最近的crontab執行情況。
留言
張貼留言