linux 定時執行php腳本


第一種方法:

1、編寫shell腳本:

shell文件:/home/www/shell/phpshell.php

  1. #!/bin/bash
  2. while [ true ]; do
  3. /bin/sleep 1
  4. /usr/bin/php /home/www/index.php >> /home/logs/phpshell.log
  5. done

2、並且放入后台運行:

/home/www/shell/phpshell.php &

3、使用tail -f 命令跟蹤日志。

第二種方法:


a 在Crontab中使用PHP執行腳本
  * * * * * /usr/bin/php /home/www/index.php  每分鍾執行php腳本

b 在Crontab中使用URL執行腳本

   如果你的PHP腳本可以通過URL觸發,你可以使用lynx或curl或wget來配置你的Crontab。
下面的例子是使用Lynx文本瀏覽器訪問URL來每小時執行PHP腳本。Lynx文本瀏覽器默認使用對話方式打開URL。但是,像下面的,我們在lynx命令行中使用-dump選項來把URL的輸出轉換來標准輸出.

    例子:* * * * * lynx -dump http://www.cnblogs.com/index.php

下面的例子是使用CURL訪問URL來每5分執行PHP腳本。Curl默認在標准輸出顯示輸出。使用”curl -o”選項,你也可以把腳本的輸出轉儲到臨時文件。

    例子:*/5 * * * * /usr/bin/curl -o /home/logs/temp.log http://www.cnblogs.com/index.php

下面的例子是使用WGET訪問URL來每10分執行PHP腳本。-q選項表示安靜模式。”-O temp.txt”表示輸出會發送到臨時文件。

    例子:*/10 * * * * /usr/bin/wget -q -O /home/logs/temp.log http://www.cnblogs.com/index.php

第三種每秒執行shell腳本方法:

a shell腳本:/home/shell/phpshell.sh

   #!/bin/bash
   step=2 #間隔的秒數,不能大於60
   for (( i = 0; i < 60; i=(i+step) )); do
   $(php '/home/fdipzone/php/crontab/tolog.php')
   sleep $step
   done
   exit 0
b crontab 命令執行腳本文件
   * * * * * /home/shell/phpshell.sh
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM