Linux Crontab(網文摘錄)
cron來源於希臘單詞chronos(意為“時間”),是linux系統下一個自動執行指定任務的程式。例如,你想在每晚睡覺期間建立某些檔案或資料夾的備份,就可以用cron來自動執行。 服務的啟動和停止cron服務是linux的內建服務,但它不會開機自動啟動。可以用以下命令啟動和停止服務: /sbin/service crond start /sbin/service crond stop /sbin/service crond restart /sbin/service crond reload 以上1-4行分別為啟動、停止、重啟服務和重新載入配置。 要把cron設為在開機的時候自動啟動,在 /etc/rc.d/rc.local 指令碼中加入 /sbin/service crond start 即可。 檢視、編輯和刪除cron把命令列儲存在crontab(cron table)檔案裡,這個檔案通常在 /etc 目錄下。每個系統使用者都可以有自己的crontab(在 /var/spool/cron/ 下)。要檢視當前使用者的crontab,輸入 crontab -l;要編輯crontab,輸入 crontab -e;要刪除crontab,輸入 crontab -r。如當前是root身份,要檢視/編輯/刪除/某使用者的crontab,只需在相應的命令後加上 -u USERNAME(如 crontab -e -u USERNAME)即可。crontab檔案的預設編輯器是vi,可以輸入 export VISUAL=’editor’ 更改預設編輯器。 cron服務每分鐘不僅要讀一次 /var/spool/cron 目錄內的所有檔案,還需要讀一次 /etc/crontab 檔案。配置這個檔案也能讓cron執行任務。使用crontab命令是對使用者級任務的配置,而編輯 /etc/crontab 檔案是對系統級任務的配置。 語法說明以下是兩個cron語句的例子(在 /etc/crontab 檔案裡)。前者用來晚間備份 /etc 目錄,後者執行Analog程式處理伺服器的統計資訊。 12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1 52 5 * * * root /usr/local/src/analog-5.32-lh/analog >> /dev/null 2>&1 以下是cron語句中的欄位與欄位說明:
現在來看第一行: 12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1 這條語句將在每天的凌晨3點12分(03:12)執行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。>> /dev/null 2>&1 表示把所有標準輸出傳送到 /dev/null(linux的回收站),把標準錯誤輸出(2)傳送到和標準輸出(1)同樣的地方(即 /dev/null)。執行這行命令將不會產生任何輸出。 這條語句可以變得稍微複雜一點: 30 15 13 6 1 * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1 它將在6月13日週一的15:30執行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。 以下語句可以達到同樣的效果: 30 15 13 Jun Mon * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1 如果你想以使用者joey的身份每小時的第15分鐘執行某個程式,可以使用: 15 * * * * joey /usr/bin/somecommand >> /dev/null 2>&1 其中的星號(*)是萬用字元,表示cron將忽略這個欄位。 如果你想每兩小時就執行某個程式,可以在小時欄位裡使用 */2。它將會在2點,4點,6點……22點,24點執行。具體語句如下: 0 */2 * * * joey /usr/bin/somecommand >> /dev/null 2>&1 cron語句中還可以使用逗號(,)來指定多個時間。例如你想在每小時的15分和30分執行某個程式,可以在分鐘欄位使用 15,30: 15,30 * * * * joey /usr/bin/somecommand >> /dev/null 2>&1 如果你想在每月的第一週(即1號到7號)每天的指定時間執行某個程式,可以在日期欄位使用 1-7: 15,30 */2 1-7 * * joey /usr/bin/somecommand >> /dev/null 2>&1 這條語句將在每月的第1-7日每兩小時的15分和30分(02:15,02:30……22: 15,22:30等)執行 /usr/bin/somecommand 命令。 如果你想在每天的16:18執行一個指令碼集合,可以把所有要執行的指令碼放到一個目錄中(如 /home/username/cron),可以使用: 18 16 * * * root run-parts /home/username/cron >> /dev/null 2>&1 如果你想儲存某個程式的輸出結果, 可以把 >> /dev/null 2>&1 替換為 >> /home/user/somecommand.log 2>&1 。 總結
報錯處理方法(浪漫雙魚的經驗): 1。crontab格式應為: * * * * * /bin/a.sh 2。chmod 755 /bin/a.sh 3。檢視自動日誌郵件錯誤提示,根據提示求助 自己搞了很久,終於解決了哈,興奮中…… |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11088128/viewspace-1630/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle的日誌管理攻略(網文摘錄)Oracle
- Linux crontabLinux
- oracle資料庫sys使用者的審計(網文摘錄)Oracle資料庫
- Linux crontab命令Linux
- linux /etc/crontabLinux
- Linux下crontab命令的用法:sudo crontab -lLinux
- Linux crontab job 中的log記錄及異常處理Linux
- socket在windows下和linux下的區別的網路文摘WindowsLinux
- errors in crontab file, can't install. - linux crontabErrorLinux
- SAP 用的到Date [網路文摘]
- Linux Crontab命令詳解Linux
- Linux的crontab問題Linux
- linux crontab 命令詳解Linux
- linux中crontab命令(轉)Linux
- BO & SAP 資料整合方案[網路文摘]
- Linux crontab 未執行排查Linux
- Linux crontab 定時任務Linux
- linux中crontab的問題Linux
- Linux 定時任務(crontab)Linux
- Linux crontab 沒有執行Linux
- Linux - crontab(定時任務)Linux
- Linux下crontab命令的用法Linux
- Linux 自動任務crontabLinux
- linux/unix crontab命令詳解Linux
- Asp.net 執行原理概述——網路文摘ASP.NET
- [網路文摘] 霍小柏-因為你是男人
- crontab使用說明【一文搞懂Linux定時任務Crontab】Linux
- linux之 crontab 定時任務Linux
- linux下crontab的使用實現Linux
- linux的定時任務crontabLinux
- Linux Crontab定時任務命令Linux
- Linux Crontab:15 Awesome Cron Job ExamplesLinux
- Linux Crontab 定時任務[轉]Linux
- VC下Debug和Release區別——網路文摘
- 「xDeepFM」- 論文摘要
- 文摘--儲存目的
- linux 使用crontab 建立定時任務Linux
- linux下定時任務 crontab詳解Linux