Linux crontab 命令格式與舉例

來源:互聯網
上載者:User

標籤:style   blog   http   ar   color   使用   sp   strong   on   

每五分鐘執行  */5 * * * *

每小時執行     0 * * * *

每天執行        0 0 * * *

每周執行       0 0 * * 0

每月執行        0 0 1 * *

每年執行       0 0 1 1 *

詳細用法可以參考該博文http://yangqijun.iteye.com/blog/1173016

 

1.作用 
使用crontab命令可以修改crontab設定檔,然後該配置由cron公用程式在適當的時間執行,該命令使用許可權是所有使用者。

 
2.格式 
crontab [-u user] {-l | -r | -e} 


3.主要參數 
-e:執行文字編輯器來設定時程表,內空的文字編輯器是vi 
-r:刪除目前的時程表 
-l列出目前的時程表。 


Crontab檔案的格式為”M H D m d cmd”。其中,M代表分鐘(0~59),H代表小時(0~23),D代表天(1~31),m代表月(1~12),d代表一星期內的天(0~6,0為星期天)。Cmd表示要啟動並執行程式,它被送入sh執行,這個shell只有USER、HOME、SHELL三個環境變數。 
使用cron服務,用server crond status查看cron服務狀態,如果沒有啟動則service crond start啟動它,cron服務是一個定時執行的服務,可以通過crontab命令添加或編輯需要定時執行的任務: 
crontab –u //設定某個使用者的cron服務,一般root使用者在執行這個命令的時候需要此參數 
crontab –l //列出某個使用者cron服務的詳細內容 
crontab –r //刪除某個使用者的cron服務 
crontab –e //編輯某個使用者的cron服務 


crontab filename //以filename作為crontab的工作清單檔案並載入 
比如說root查看自己的cron設定:crontab –u root –l 
再例如,root想刪除fred的cron設定:crontab –u fred –r 
在編輯cron服務時,編輯的內容有一些格式和約定,輸入:crontab –u root –e 


進入vi編輯模式,編輯的內容一定要符合下面的格式: 
*/1   *     *     *     *     ls >>/tmp/ls.txt 
編輯/etc/crontab檔案,在末尾加上一行:30 5 * * * root init 6這樣就將系統配置為每天早上5點30分自動重新啟動。 
crontab 檔案中的行由6個欄位組成,不同欄位間用空格或tab鍵分隔。前5個欄位指定命令要啟動並執行時間 
分鐘(0-59) 
小時(0-23) 
日期(1-31) 
月份(1-12) 
星期幾(0-6,其中0代表星期日,好像7也代表星期日) 
第6個欄位是一個要在適當時間執行的字串。 
例子: 
#MIN      HOUR     DAY       MONTH  DAYOFWEEK       COMMAND 
#每天早上6點10分 
10    6     *     *     *     date 
#每兩個小時 
0     */2   *     *     *     date 
#晚上11點到早上8點之間每兩個小時,早上8點 
0     23-7/2,8      *     *     *     date 
#每個月的4號和每個禮拜一到禮拜三的早上11點 
0     11    4     *     1-3  date 
#1月1日早上4點 
0     4     1     1       *  date 


補充:在使用crontab的時候,要特別注意的是運行指令碼中能夠訪問到的環境變數和當前測試環境中環境變數未必一致,一個比較保險的做法是在啟動並執行指令碼程式中自行設定環境變數(export) 

(1)先建一個檔案crond.txt如下,每天早上5點36分重新啟動 
  36 5   *  *   *   reboot 
(2)上傳到/opt目錄 
(3)運行命令 
crontab /opt/crond.txt 
crontab –l 
讓設定檔生效:如果讓設定檔生效,還得重新啟動cron,切記,既然每個使用者下的cron設定檔修改後,也要重新啟動cron伺服器。 
在Fedora和Redhat中,我們應該用: 
/etc/rc.d/crond restart 
如果讓crond在開機時運行,應該改變其運行層級: 
chkconfig –level 35 crond on 
service crond status查看cron服務狀態,如果沒有啟動則service crond start啟動它,cron服務是一個定時執行的服務,可以通過crontab命令添加或者編輯需要定時執行的任務

Linux crontab 命令格式與舉例

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.