Linux 定時任務調度(crontab命令)

  1. crond 是Linux下用週期性的執行某種任務或者等待處理某些事件的一個守護進程,crond 進程會每分鐘按期檢查是否有要執行的任務,若是有要執行的任務則自動執行該任務
  2. Linux 下的任務調度
    1. 系統任務調度:系統週期性所要執行的工做,如:寫緩存數據到硬盤、清理日誌等。系統任務調度的配置文件 /etc/crontab
    2. 用戶任務調度:用戶按期要執行的工做,好比數據庫備份、定時郵件提醒等。全部用戶定義的crontab文件都保存在/var/spool/cron目錄中。文件名與用戶名一致。
  3. crontab 文件的含義
    用戶所創建的crontab文件中,每一行表明一項任務,每行的每一個字段表明一項設置,共分六個字段,前五段是時間設定段,第六段是要執行的命令段
    minute hour day month week command
    Crontab格式說明php

    在以上各個字段中,還可使用如下特殊字符:
    
         星號(*):表明全部可能的值,例如month字段若是是星號,則表示在知足其它字段的制約條件後每個月都執行該命令操做。
    
         逗號(,):能夠用逗號隔開的值指定一個列表範圍,例如,「1,2,5,7,8,9」
    
         中槓(-):能夠用整數之間的中槓表示一個整數範圍,例如「2-6」表示「2,3,4,5,6」
    
         正斜線(/):能夠用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線能夠和星號一塊兒使用,例如*/10,若是用在minute字段,表示每十分鐘執行一次
  4. crontab 服務
    1. service cron start //啓動服務
    2. service cron stop //關閉服務
    3. service cron restart //重啓服務
    4. service cron reload //從新載入配置
    5. service cron status //查看服務狀態
  5. 查看服務是否已經運行用 ps -ax | grep cron
  6. crontab命令選項:
    1. -u指定一個用戶
    2. -l列出某個用戶的任務計劃
    3. -r刪除某個用戶的任務
    4. -e編輯某個用戶的任務
  7. 新增任務調度
    1. 在命令行輸入: crontab -e 而後添加相應的任務,wq存盤退出。
    2. 直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務。
  8. 查看任務調度html

    crontab -l //列出當前的全部調度任務
    crontab -l -u jp   //列出用戶jp的全部調度任務
  9. 刪除任務調度linux

    crontab -r   //刪除全部任務調度工做
  10. 利用任務調度執行Shell腳本,在Shell腳本中執行PHP文件,能夠作到每秒執行一次PHP文件
    1. 假設腳本爲 aaa.sh (必定要給該文件可執行的權限) 內容爲:web

      #!/bin/bash
      int=1
      while(( $int<=60 ))
      do
          php /var/www/html/index.php 
          echo $int
           let "int++"
           sleep 1
      done
    2. PHP文件(若是執行不成功能夠嘗試給該文件受權爲755) 內容爲:數據庫

      <?php
      echo "this is zhuchenglin's website!";
    3. 執行以下命令:
      1. sudo corntab -e 編輯定時任務
        內容,加上下面內容(裏面是絕對路徑):緩存

        * * * * * sh /var/www/html/aaa.sh >> /var/www/html/crontab.log
        #後面將輸出的內容重定向到日誌文件中是爲了看定時任務是否執行
      2. 編輯好後,保存並退出
      3. 重啓cron服務bash

        service cron restart
      4. 過大概一分鐘後查看日誌文件內是否有內容 (儘可能給該日誌文件足夠的權限)this

        cat /var/www/html/crontab.log

注:本文參考:Linux定時任務crontab命令詳解linux定時任務的設置 crontab 配置指南
如需轉載請註明出處:http://www.cnblogs.com/zhuchenglin/p/8758444.html.net

相關文章
相關標籤/搜索