linux下任務管理

Linux下定時執行php腳本

  1. crontab -e 打開編輯定時任務列表文件(-r:刪除目前的時程表,-l:列出目前的時程表)

  2. 輸入任務執行的時間參數和要執行的文件路徑和文件名

  3. 命令 which php 查看linux下安裝的php的路徑

  4. */1 * * * * /usr/bin/php -q /var/www/runtest.php (前五個參數爲時間參數:分 小時 月的第幾天 哪個月 一週的第幾天;第二參數爲php的安裝路徑;第三參數-q:PHP 原本是應用在網頁應用的﹐因此它內定會送出 HTML 的HEADER﹐但 是在此我們是要將 PHP 用作 Shell Script﹐”-q” 就是表示不要送 出HEADER 的意思;第四參數是要執行的php文件的路徑)

  5. 五個時間參數的:

  1. 時程表的格式如下:
      f1 f2 f3 f4 f5 program

      其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執行的程式。
      當 f1 爲 * 時表示每分鐘都要執行 program,f2 爲 * 時表示每小時都要執行程式,其餘類推
      當 f1 爲 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內要執行,f2 爲 a-b 時表示從第 a 到第 b 小時都要執行,其餘類推
      當 f1 爲 */n 時表示每 n 分鐘個時間間隔執行一次,f2 爲 */n 表示每 n 小時個時間間隔執行一次,其餘類推
      當 f1 爲 a, b, c,... 時表示第 a, b, c,... 分鐘要執行,f2 爲 a, b, c,... 時表示第 a, b, c...個小時要執行,其餘類推
      使用者也可以將所有的設定先存放在檔案 file 中,用 crontab file 的方式來設定時程表。
      例子:
      每月每天每小時的第 0 分鐘執行一次 /bin/ls:
      0 7 * * * /bin/ls

      在 12 月內, 每天的早上 6 點到 12 點中,每隔 20 分鐘執行一次 /usr/bin/backup:
      0 6-12/3 * 12 * /usr/bin/backup

      週一到週五每天下午 5:00 寄一封信給 [email protected]:
      0 17 * * 1-5 mail -s \"hi\" [email protected] < /tmp/maildata

      每月每天的午夜 0 點 20 分, 2 點 20 分, 4 點 20 分....執行 echo \"haha\"
      20 0-23/2 * * * echo \"haha\"

  2. crontab 文件中的每一行都代表一項任務,它的格式是:

    minute   hour   day   month   dayofweek   command
    *

    minute ― 分鐘,從 0 到 59 之間的任何整數
    *

    hour ― 小時,從 0 到 23 之間的任何整數
    *

    day ― 日期,從 1 到 31 之間的任何整數(如果指定了月份,必須是該月份的有效日期)
    *

    month ― 月份,從 1 到 12 之間的任何整數(或使用月份的英文簡寫如 jan、feb 等等)
    *

    dayofweek ― 星期,從 0 到 7 之間的任何整數,這裏的 0 或 7 代表星期日(或使用星期的英文簡寫如 sun、mon 等等)
    *

    command ― 要執行的命令(命令可以是 ls /proc >> /tmp/proc 之類的命令,也可以是執行你自行編寫的腳本的命令。)

    在以上任何值中,星號(*)可以用來代表所有有效的值。譬如,月份值中的星號意味着在滿足其它制約條件後每月都執行該命令。

    整數間的短線(-)指定一個整數範圍。譬如,1-4 意味着整數 1、2、3、4。

    用逗號(,)隔開的一系列值指定一個列表。譬如,3, 4, 6, 8 標明這四個指定的整數。

    正斜線(/)可以用來指定間隔頻率。在範圍後加上 / 意味着在範圍內可以跳過 integer。譬如,0-59/2 可以用來在分鐘字段定義每兩分鐘。間隔頻率值還可以和星號一起使用。例如,*/3 的值可以用在月份字段中表示每三個月運行一次任務。

    開頭爲井號(#)的行是註釋,不會被處理。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章