使用crontab,讓linux定時執行shell指令碼

來源:互聯網
上載者:User

標籤:order   顯示屏   絕對路徑   運行   art   提醒   服務   模式   開啟   

閱讀目錄

  • 1. cron服務【Ubuntu環境】
  • 2. crontab用法
  • 3. 編輯crontab檔案
  • 4. 流程舉例
  • 5. 幾個例子

Linux中,周期執行的任務一般由cron這個守護進程來處理。cron讀取一個或多個設定檔,這些設定檔中包含了命令列及其調用時間。cron的設定檔稱為“crontab”,是“cron table”的簡寫。

1. cron服務【Ubuntu環境】

查看cron狀態

sudo  service cron status

開啟cron

sudo /etc/init.d/cron start

關閉cron

sudo /etc/init.d/cron stop

重啟cron

sudo /etc/init.d/cron restart

2. crontab用法

crontab –e : 修改 crontab 檔案,如果檔案不存在會自動建立。  (這樣可以編輯模式開啟個人的crontab設定檔,然後加入一下這行:0 0 * * * /home/linrui/XXXXXXXX.sh

這將會在每天淩晨運行 指定的.sh檔案

crontab –l : 顯示 crontab 檔案。 
crontab -r : 刪除 crontab 檔案。
crontab -ir : 刪除 crontab 檔案前提醒使用者。

 在crontab檔案中寫入需要執行的命令和時間,該檔案中每行都包括六個域,其中前五個域是指定命令被執行的時間,最後一個域是要被執行的命令。每個域之間使用空格或者定位字元分隔。格式如下:

minute hour day-of-month month-of-year day-of-week commands

合法值為:00-59 00-23 01-31 01-12 0-6 (0 is sunday) 

除了數字還有幾個特殊的符號:"*"、"/"和"-"、","

  • *代表所有的取值範圍內的數字
  • "/"代表每的意思,"/5"表示每5個單位
  • "-"代表從某個數字到某個數字
  • ","分開幾個離散的數字

:commands 注意以下幾點

  • 要是存在檔案,要寫絕對路徑
  • 即使是列印也不會顯示在顯示屏,在後台運行,最好重新導向日誌
3. 使用vim編輯crontab檔案
EDITOR=vi
export EDITOR
crontab -e
4. Cron 各項的描述

以下是 crontab 檔案的格式:

{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script} 
o minute: 區間為 0 – 59 
o hour: 區間為0 – 23 
o day-of-month: 區間為0 – 31 
o month: 區間為1 – 12. 1 是1月. 12是12月. 
o Day-of-week: 區間為0 – 7. 周日可以是0或7.

5. 例子解釋
1 0 * * * /home/lenovosh/work/bianyi.sh lumus nedp

在每天淩晨00:01運行 指定的bianyi.sh指令檔

59 23 * * 1,2,3,4,5 /home/lenovosh/work/bianyi.sh lumus nedp

在每個工作日23:59運行 指定的bianyi.sh指令檔,或者如下寫法

59 23 * * 1-5 /home/lenovosh/work/bianyi.sh lumus nedp

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

*/1 * * * * /home/lenovosh/work/bianyi.sh lumus nedp

每分鐘運行 指定的bianyi.sh指令檔

10 14 1 * * /home/lenovosh/work/bianyi.sh lumus nedp

每個月的1號14:10運行 指定的bianyi.sh指令檔

1 0 * * 1,3,5 /home/lenovosh/work/bianyi.sh lumus nedp

每周一、三、五淩晨00:01運行 指定的bianyi.sh指令檔

具體想看bianyi.sh(編譯指令碼)怎麼實現,請看下一篇部落格!

使用crontab,讓linux定時執行shell指令碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.