2014-12-04 3 views
0

У меня есть HTML-файл, который запускает два PHP-скрипта при ручном посещении страницы в браузере. Все работает отлично, когда я вручную набираю URL. Я хотел бы знать, как я могу запустить этот скрипт как cron, чтобы он постоянно срабатывал с заданным интервалом?Выполнение скриптов через CRON

Я пробовал, wget, завивать до сих пор не повезло. Любая помощь будет оценена.

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    <script src="js/jquery.shoutcast.min.js"></script> 
    <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Kaushan Script"> 
    <!-- Current Song Played --> 
    <script> 
     // Get current song playing and load it into an element with an ID of songtitle 
     $.SHOUTcast({ 
      host : 'live.soundcheck.xyz', 
      port : 8000, 
      interval : 5000, 
     }).stats(function(){ 
      $('#songtitle').text(this.get('songtitle')); 

      $(document).ready(function() { 
       // console.log("Document Ready!"); 
       var content = $('#songtitle').text(); 
       var music = $('#songtitle').text(); 
       var song = $('#songtitle').text(); 
       var title = $('#songtitle').text(); 
      // console.log(content); 

       // $.post("nowplaying.php", //Required URL of the page on server 
       $.post("ignore.php", //Required URL of the page on server 
        { // Data Sending With Request To Server 
         name:content, 
        }, 
        function(response){ // Required Callback Function 
         // alert("Response: " + response); // "response" receives - whatever written in echo of above PHP script. 

       }); 
       $.post("new/update.php", //Required URL of the page on server 
        { // Data Sending With Request To Server 
         track:music, 
        }, 
        function(response){ // Required Callback Function 
         // alert("Response: " + response); // "response" receives - whatever written in echo of above PHP script. 
        // console.log(response); 
       }); 
       /*$.post("current.php", //Required URL of the page on server 
        { // Data Sending With Request To Server 
         current:song, 
        }, 
        function(response){ // Required Callback Function 
         // alert("Response: " + response); // "response" receives - whatever written in echo of above PHP script. 
         console.log(response); 
       });*/ 

      }); 

     }); 
    </script> 

    <style type="text/css"> 
     #nowplaying{ 
      border: solid; 
      border-color: black; 
      width: 750px; 
      height: auto; 
      padding: 5px 5px 5px 5px; 
      float: left; 
     } 
     #label{ 
      font-weight: 500; 
      font-family: Kaushan Script; 
      font-size: xx-large; 
     } 
     #songtitle{ 
      font-weight: 300; 
      font-family: fantasy; 
      font-size: medium; 
     } 
     ol.labels-list { 
      list-style-type: none; 
      margin: 0; 
      margin-left: 1em; 
      padding: 0; 
      counter-reset: li-counter; 
     } 
     ol.labels-list > li{ 
      position: relative; 
      margin-bottom: 1.5em; 
      padding: 1.5em; 
      background: #45484d; /* Old browsers */ 
      background: -moz-linear-gradient(left, #45484d 0%, #000000 100%); /* FF3.6+ */ 
      background: -webkit-gradient(linear, left top, right top, color-stop(0%,#45484d), color-stop(100%,#000000)); /* Chrome,Safari4+ */ 
      background: -webkit-linear-gradient(left, #45484d 0%,#000000 100%); /* Chrome10+,Safari5.1+ */ 
      background: -o-linear-gradient(left, #45484d 0%,#000000 100%); /* Opera 11.10+ */ 
      background: -ms-linear-gradient(left, #45484d 0%,#000000 100%); /* IE10+ */ 
      background: linear-gradient(to right, #45484d 0%,#000000 100%); /* W3C */ 


     } 
     ol.labels-list > li:before { 
      position: absolute; 
      top: -0.3em; 
      left: -0.5em; 
      width: 1.8em; 
      height: 1.2em; 
      font-size: 2em; 
      line-height: 1.2; 
      font-weight: bold; 
      text-align: center; 
      color: #464646; 
      background-color: #d0d0d0; 

      transform: rotate(-20deg); 
      -ms-transform: rotate(-20deg); 
      -webkit-transform: rotate(-20deg); 
      z-index: 99; 
      overflow: hidden; 
      content: counter(li-counter); 
      counter-increment: li-counter; 
     } 
     .lastplayed{ 
      font-weight: 300; 
      font-family: Kaushan Script; 
      font-size: medium; 
      color: white; 
     } 
     #imgholder{ 
      width: 50%; 
      margin: 0 auto; 
     } 
     .text-glow{ 
      color: #000000; 
      font-family: Arial; 
      font-size: 4em; 
      margin: 0 auto; 
      text-align: center; 
      width: 1000px; 
      padding-top:75px; 
     } 
     #nowplaying{ 
      text-align: center; 
     } 

     .text-glow:hover, 
     .text-glow:focus 
     .text-glow:active{ 
      -webkit-stroke-width: 5.3px; 
      -webkit-stroke-color: #000000; 
      -webkit-fill-color: #FFFFFF; 
      text-shadow: 1px 0px 20px #F90; 
      -webkit-transition: width 0.3s; /*Safari &amp; Chrome*/ 
      transition: width 0.3s; 
      -moz-transition: width 0.3s; /* Firefox 4 */ 
      -o-transition: width 0.3s; /* Opera */ 

     } 

     .text-glow a{ 

      -webkit-transition: all 0.3s ease-in; /*Safari &amp; Chrome*/ 
      transition: all 0.3s ease-in; 
      -moz-transition: all 0.3s ease-in; /* Firefox 4 */ 
      -o-transition: all 0.3s ease-in; /* Opera */ 

      text-decoration:none; 
      color:#000000; 
     } 
     #songtitle{ 
      font-size: x-large; 
     } 
    </style>           
</head> 
<body> 

    <div id="reload"><span id="songtitle" class="now"></span></div> 
    <div id="php"><?php echo date('l, F jS, Y'); ?></div> 
    <div id="php2"><?php echo $_POST["name"]; ?></div> 

</body> 

+3

его js, вам нужен браузер для его запуска. все еще можно сделать через cron, но его больно - можете ли вы преобразовать его в чистую серверную сторону? –

+0

Возможно, вы захотите посмотреть на что-то вроде [Codeception] (http://codeception.com/) и написать для него тест. Codeception использует phpBrowser и может обрабатывать такие вещи, как javascript. Затем, как сказал @Dagon, просто назначьте cron, чтобы начать тест, но часто бы хотелось. – Shocm

+0

Это действительно нереально, но вы можете открыть страницу (через cron) с помощью текстового браузера, который поддерживает современные js. elinks - единственное, что я знаю, если скомпилировано с spidermonkey – Anthony

ответ

-5
  1. открыть serverterminal, тип кронтаб -e
  2. для cronjob, который выполняется каждый тип минут:

    * * * * * php /path/to/your/File

  3. сохранение файла

  4. весело :)
+0

нет, браузер необходим для его js –

-1

в вашем случае, и если вы на сервере Linux, вы должны поместить весь контент HTML/JQuery в файл .php и сохранить его в месте, где его исполняемым и доступна через веб и вопрос:

sudo crontab -e //this will open the crontab in whatever editor 

вставьте cronjob в этом формате

*/10 * * * *  curl 'http://host/php-script-location/php-script.php' 
//feel free to pass in parameters. 

убедитесь, чтобы установить время для хрон, это (*/10 * * * *) должен быть отрегулирован для того, чтобы вы установите правильное время для cronjob запустить

использовать локон, не используйте Wget, Curl имитирует браузер, как действие

затем выдать crontab -l, чтобы убедиться, что ваш cronjob есть. он распечатает строки , показывая ваш cronjob.

сделайте несколько тестов, и вы должны быть в порядке.

+0

curl не выполнит js либо –

+0

попробуйте это "/ usr/bin/firefox http: // host/html-location /html-file.html или попробуйте NodeJS. Убедитесь, что в системе установлен firefox. Существует способ написать скрипт cURL, который будет использовать Javascript, но может потребовать много времени для вас. – unixmiah

+0

, так что сколько экземпляров firefox будет в конечном итоге работает на этом компьютере? –