是否有可能每小时在后台运行一个PHP脚本?

时间:2017-01-09 04:11:25

标签: php background-process simple-html-dom web-worker

我正在尝试获取任何给定网站的所有脚本标记的链接(只会在我自己的个人网站上尝试)。使用simplehtmldom http://simplehtmldom.sourceforge.net/manual.htm我有一些工作的代码,但不知道如何或是否甚至可以在一小时内在后台的灯服务器上运行此脚本,永远。在后台我的意思是没有用户实际在网站上。有没有一种简单的方法来实现这一目标?即使是快速拙劣(简单)的方式也会很棒!谢谢。

require 'simple_html_dom.php';

function logToFile($filename, $msg) 
   {  
   // open file 
   $fd = fopen($filename, "a"); 
   // write string 
   fwrite($fd, $msg . "\n"); 
   // close file 
   fclose($fd); 
} 

$html = file_get_html('randomsite.com');

// set default timezone
date_default_timezone_set('Pacific/Auckland');
$current_date = date('d/m/Y | H:i:s');

// set scripts src
$current_src = '';

$scripts = $html->find('script');
    foreach($scripts as $s) {
        if(strpos($s->src, 'jquery') !== false) {
            //do nothing
        }else{
              $current_src = $current_src . $s->src . ' ';
        }
    }

echo $current_src;

logToFile("data.log", "$current_date : $current_src".PHP_EOL);

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。如果你想每小时运行任何脚本,你可以使用cronjob,你必须在cronjob中定义如下cronjob,它会正常工作。 语法:

minute hour day month day-of-week command-line-to-execute 

如果你想要每个小时而不是需要选择如下

* 1 * * * php /var/www/html/VMonitor/download_file.php