crontab定時任務配置記要

來源:互聯網
上載者:User
crontab定時任務配置記錄

一、前言

  今天簡單記錄下crontab的配置

二、crontab目錄 

/etc/crontab 檔案    這是系統啟動並執行調度任務 /var/spool/cron 目錄    使用者自訂的crontab任務放在此目錄下 ls –lrt /etc/cron*   /etc/cron.deny     表示不能使用crontab命令的使用者   /etc/cron.allow     表示能使用crontab命令的使用者   預設情況下,cron.allow不存在,如果都存在,cron.allow優先

三、crontab命令文法

具體可 crontab --help 或者 man crontab|morecrontab –l   //查看目前使用者的定時任務 crontab –e  //編輯目前使用者的定時任務crontab –r  //刪除目前使用者的定時任務

四、crontab任務格式

59 23 * * *  /home/xxx/crontab/test.sh > /dev/null  2>&1 &前6列暫且用C1 - C6表示C1 分    (1-59)C2 時    (1-23,0表示子夜)C3 日    (1-31)C4 月    (1-12)C5 星期   (0-6,0表示星期天,1表示星期一,以此類推)C6 要啟動並執行命令前5列表示 命令執行的頻率,最小頻率是每分鐘一次,其中Cn的值可用四種形式表示:*  ,  */n  , T1-T2 , a,b,c  當C1 為 * 時,表示每分鐘都要執行命令當C1 為 */n時,表示每隔n分鐘執行一次命令當C1 為 T1-T2時,表示從 T1分鐘 到 T2分鐘時間內都要執行命令當C1 為 a,b,c 時,表示第 a,b,c 分鐘都要執行命令樣本調用:12  12 * * *  /home/xxx/crontab/test.sh >/dev/null 2>&1 表示每天的12點12分 執行指令碼*/2 *  *  *  *  /home/xxx/crontab/test.sh >/dev/null 2>&1表示每隔2分鐘 執行一次指令碼0 23 * * 1-5  /home/xxx/crontab/test.sh >/dev/null 2>&1表示每周一到周五的23點 執行一次指令碼0 19 * * 0  mail -s "xxx" [email protected] < /tmp/maildata表示每周日的19點 發送郵件到 [email protected]

五、關於命令的說明

關於命令中 /dev/null 2>&1 的解釋0  表示鍵盤輸入1  表示標準輸出2  表示錯誤輸出1.建立test.sh,內容如下#! /bin/bashecho "time is " `date`2.添加定時任務* * * * *    /home/xxx/crontab/test.sh > /home/xxx/crontab/test.log &    預設是1,和下面方法一致* * * * *   /home/xxx/crontab/test.sh 1> /home/xxx/crontab/test.log &* * * * *   /home/xxx/crontab/test.sh > /home/xxx/crontab/test.log  2>&1 &3.說明1代表,標準輸出,所以上述命令會將指令碼的輸出結果,輸出到後面指定的log檔案中,而不是列印到螢幕;2代表,錯誤輸出,&1表示檔案的描述,這裡表示指令碼執行的錯誤資訊重新導向到1(標準輸出)而1已經重新導向到指定的log檔案中,所以資訊都會輸出到log檔案不能寫成 2>1 ,缺少&,會認為是錯誤資訊輸出到名稱為 1 檔案中

六、注意事項

1.shell中需設定必要的環境變數  crontab的環境變數預設不包含系統目前使用者的環境,所以需添加必要的環境變數2.盡量採用完整路徑方法,避免使用相對路徑3.避免指令碼的重複執行  if(exec("ps -ef |grep 'php'|grep 'updateScript'|grep -v 'grep' |wc -l ") > 2){    die();    }  grep -v 'grep'    表示結果去過濾掉 grep 那一行  wc -l             表示統計滿足條件的行數  這樣就可以判斷 php進程中,名為 updateScript 的指令碼 是否已經執行了

七、參考資料

http://www.cnblogs.com/kerrycode/p/3238346.htmlhttp://www.cnblogs.com/hazir/p/sudo_command.html

  • 聯繫我們

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