2017-01-09 1 views
0

Je suis en train d'essayer d'obtenir les liens de toutes les balises de script d'un site donné (je ne l'essayerai que sur mes propres sites personnels). Utilisation simplehtmldomhttp://simplehtmldom.sourceforge.net/manual.htm J'ai un peu de code de travail mais je ne sais pas comment ou s'il est même possible d'exécuter ce script sur un serveur de lampe en arrière-plan une fois par heure, pour toujours. En arrière-plan, je veux dire sans un utilisateur réellement sur le site. Existe-t-il un moyen simple d'y parvenir? même une méthode bâclée (simple) serait super! Merci.Est-il possible d'exécuter un script PHP en arrière-plan toutes les heures?

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); 
+3

Référez ce lien https://www.thesitewizard.com/general/set-cron-job.shtml – edCoder

Répondre

0

Ouais, c'est possible. Si vous voulez exécuter un script toutes les heures que vous pouvez utiliser cronjob dans lequel vous devez définir comme ci-dessous cronjob et cela fonctionnera bien. Syntaxe:

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

si vous voulez toutes les heures que le besoin de choisir comme ci-dessous

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

+0

cela ne fonctionnerait-il pas? 0 * * * * /your/directory/whatever.pl>/dev/null – Benjamin