一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - 服務器定時執行計劃任務,定時訪問頁面(windows/linux)

服務器定時執行計劃任務,定時訪問頁面(windows/linux)

2020-08-21 16:19服務器知識網 服務器知識

最近在做一個網站需要定時生成sitemap,如果人工操作容易忘記,不如服務器上自動執行生成更方便,其實很簡單一句話就ok了,還支持參數

經過服務器之家選的一種又簡單一句話就解決了問題

explorer "http://m.ythuaji.com.cn?opt=make"

將上面的代碼保存為dositemap.bat即可。然后添加到計劃任務

一、windows計劃任務

1、寫一個PHP程序,命名為test.php,內容如下所示:

?
1
2
3
4
5
<? 
  $fp = fopen("test.txt", "a+"); 
  fwrite($fp, date("Y-m-d H:i:s") . " 成功成功了!\n"); 
  fclose($fp); 
?>

 程序大膽地寫,什么include\require盡管用,都沒問題

2、新建Bat文件,命名為test.bat,內容如下所示:

D:\php\php.exe -q D:\website\test.php 

自己寫的bat文件,定時打開頁面,并關閉ie瀏覽器

?
1
2
3
explorer.exe open=http://m.ythuaji.com.cn
Ping -n 80 127.1>nul
Taskkill /f /im "iexplore.exe"

3、建立WINDOWS計劃任務:
開始–>控制面板–>任務計劃–>添加任務計劃
瀏覽文件夾選擇上面的bat文件
設置時間和密碼(登陸WINDOWS的)
保存即可了。
4、over! 可以右鍵計劃任務點“運行”試試

二、Linux 的腳本實現

一、在Crontab中使用PHP執行腳本
就像在Crontab中調用普通的shell腳本一樣(具體Crontab用法),使用PHP程序來調用PHP腳本。
每一小時執行myscript.php如下:

?
1
2
**# crontab -e**
00 * * * * /usr/local/bin/php /home/john/myscript.php

/usr/local/bin/php為PHP程序的路徑。

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

?
1
00 * * * * lynx -dump http://www.centos.bz/myscript.php

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

?
1
*/5 * * * * /usr/bin/curl -o temp.txt http://www.centos.bz/myscript.php

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

?
1
*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.centos.bz/myscript.php

三、PHP實現定時執行計劃任務
使用php讓瀏覽器刷新需要解決幾個問題
1.PHP腳本執行時間限制,默認的是30m 解決辦法:set_time_limit();或者修改PHP.ini 設置max_execution_time時間(不推薦)
2.如果客戶端瀏覽器關閉,程序可能就被迫終止,解決辦法:ignore_user_abort即使關閉頁面依然正常執行
3.如果程序一直執行很有可能會消耗大量的資源,解決辦法使用sleep使用程序休眠一會,然后在執行
PHP定時執行的代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php 
  ignore_user_abort();//關掉瀏覽器,PHP腳本也可以繼續執行. 
  set_time_limit(3000);// 通過set_time_limit(0)可以讓程序無限制的執行下去 
   $interval=5;// 每隔5s運行 
 
   //方法1--死循環 
   do
    echo '測試'.time().'<br/>'
    sleep($interval);// 等待5s   
  }while(true); 
 
  //方法2---sleep 定時執行 
   require_once './curlClass.php';//引入文件 
 
   $curl = new httpCurl();//實例化 
   $stime = $curl->getmicrotime(); 
  for($i=0;$i<=10;$i++){ 
 
    echo '測試'.time().'<br/>'
    sleep($interval);// 等待5s 
 
  
  ob_flush(); 
  flush(); 
  $etime = $curl->getmicrotime(); 
  echo '<hr>'
  echo round(($etime-stime),4);//程序執行時間

測試的時候發現這個效率并不是很高
總結:
建議關于定時執行任務的工作還是交給shell來做吧,比較那才是王道。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本动漫xxxxxx | 色在线看 | 小草高清视频免费直播 | 久久久久伊人 | 日韩免费视频一区 | 国产精品免费久久久久影院小说 | 激情偷拍网| 免费看成年视频网页 | 四虎1515hh.com | 户外露出野战hd | 九九精品视频一区二区三区 | 国产精品免费网站 | 火影小南被爆羞羞网站 | 欧美亚洲国产成人不卡 | 日韩先锋| 亚洲国产精品自在在线观看 | 操比图片| 香蕉免费看一区二区三区 | 91成| 女人和拘做受全过程免费 | 亚洲黄色三级视频 | videojapan日本孕交孕 | 色老板成人永久免费视频 | 国产在线视频欧美亚综合 | 久久精品观看影院2828 | 男女拍拍拍免费视频网站 | 边打电话边操 | 国产精品区一区二区免费 | 精品国产91久久久久久久a | 美女厕所尿尿擦逼 | 欧美亚洲欧美 | bban女同系列022在线观看 | 日本最大的黄色网站 | 亚洲精品在线免费观看视频 | 福利一区在线观看 | 欠操h | 国产精品青青在线观看香蕉 | 高清不卡一区二区 | 亚洲男人天堂网址 | 二区三区不卡不卡视频 | 国产在线伊人 |