Script ausführen per Cronjob

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Script ausführen per Cronjob

    Hi,

    ich hab folgendes Problem, ich hab ein Script geschrieben:

    Quellcode

    1. <?php
    2. header("Location: http://85.214.28.248:8500/admin.cgi?pass=PASSWORD&mode=updinfo&song=Track%20Update%20www.DACOOON.COM");
    3. exit;
    4. ?>


    Das ich eigentlich per Cronjob aufrufen wollte.
    Mhh, der das script sollte unten beim Shoutcast den Current Song überblenden... Aber jetzt jedes mal wenn ich das Script aufrufe per Cronjob sagt das Ding mir:

    Ausgabe des Befehls /usr/bin/php /srv/www/vhosts/dacooon.com/subdomains/static-p1/httpdocs/trackupdate/index.php ..

    Es wurde keine Ausgabe erstellt


    Gestartet wird es mit dem Befehl...
    /usr/bin/php /srv/www/vhosts/dacooon.com/subdomains/static-p1/httpdocs/trackupdate/index.php
    Naja ich weiß nicht, was ich noch alles machen soll... Ich hoffe ihr könnt mir helfen... Danke ;)
    Ich würd zu gern die Welt verändern, doch Gott rückt den Quellcode net raus.
  • Header werden nur vom Browser akzeptiert. PHP sagt deinem Browser also "Bitte leite weiter"

    Da du das aber nicht im Browser aufrufst hört auch keiner zu, dass weitergeleitet werden soll.
    Was du suchst, ist eher etwas wie [phpdoc]fsockopen[/phpdoc] oder in der faulen Variante einfach file_get_contents.

    Eine noch bessere Möglichkeit wäre es für diese triviale Sache kein PHP Script zu benutzen, sondern das ganze mit wget zu machen.
  • Hi,

    mit fsockopen, kenn ich mich nicht aus. Wäre nett wennde mir da helfen könntest.
    Wenn ich das richtig in Errinnerung habe, dann lad ich mcit wget doch was runter, aber ich möchte das nicht runter laden... Oder verstehe ich das gerade falsch, das was du mir mitteilen möchtest.... ?!
    Ich würd zu gern die Welt verändern, doch Gott rückt den Quellcode net raus.
  • Hi,

    jepp aufrufen...

    Aber wenn ich das so mache, dann sagt er mir das...

    Ausgabe des Befehls wget -O - 85.214.28.248:8500/admin.cgi?pass=PW&mode=updinfo&song=Track ..

    --19:53:29-- 85.214.28.248:8500/admin.cgi?pass=PW
    => `-'
    Connecting to 85.214.28.248:8500... connected.
    HTTP request sent, awaiting response... 200 No headers, assuming HTTP/0.9
    Length: unspecified
    ICY 404 Resource Not Found
    icy-notice1:<BR>SHOUTcast Distributed Network Audio Server/Linux v1.9.8<BR>
    icy-notice2:The resource requested was not found<BR>


    0K 11.45 MB/s

    19:53:29 (11.45 MB/s) - `-' saved [161]
    Ich würd zu gern die Welt verändern, doch Gott rückt den Quellcode net raus.
  • Ausgabe des Befehls wget -O - 'http://dacooon.com:8500/admin.cgi?pass=PASSWORD&mode=updinfo&song=Track%20Update%20www.DACOOON.COM' ..

    --16:58:21-- dacooon.com:8500/admin.cgi?pas…0Update%20www.DACOOON.COM
    => `-'
    Resolving dacooon.com... 85.214.28.248
    Connecting to dacooon.com|85.214.28.248|:8500... connected.
    HTTP request sent, awaiting response... 200 No headers, assuming HTTP/0.9
    Length: unspecified
    ICY 404 Resource Not Found
    icy-notice1:<BR>SHOUTcast Distributed Network Audio Server/Linux v1.9.8<BR>
    icy-notice2:The resource requested was not found<BR>



    0K 12.21 MB/s

    16:58:21 (12.21 MB/s) - `-' saved [161]

    SO das ist jetzte Aktuelle der Fehler, der da rauskam wie ich den Link als String eingeben habe... und ich habe schon die Leerzeichen hinten mit %20 gemacht, aber das bringt auch nicht irgendwie nichts.
    Ich hatte auch schon ne Datei geschriebn, html.. 2 Frames drinne mit dem Link und dann per meta tag nen reload der datei, das geht ja auch so, nur halt anders net... und dafür müsste denn mein rechner die ganze zeit anbleiben, das das ding immer Reloaded...
    Gruß
    P.S. Nein das Passwort hat keine Sonderzeichen
    Ich würd zu gern die Welt verändern, doch Gott rückt den Quellcode net raus.
  • dehne schrieb:


    Mhh, der das script sollte unten beim Shoutcast den Current Song überblenden...

    hi ! ich nehme stark an das du auf ner webseit etc. ne ausgabe machen willst für einen shoutcast stream bzw. die ausgabe von dem shoutcast haben möchtest... habe das mal so im netz gefunden frag mich jetzt aber net wo ^^

    Quellcode

    1. <?php
    2. $server = "0000"; //hier deinen server eintragen z.b. musik.de oder 213.61.885.8
    3. $port = "8000"; //hier den port eintragen (ist standart 8000)
    4. $fp = @fsockopen($server, $port, $errno, $errstr, 30);
    5. if ($fp) {
    6. fputs($fp, "GET /7.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n");
    7. while(!feof($fp))
    8. $page .= fgets($fp, 1000);
    9. fclose($fp);
    10. $page = ereg_replace(".*<body>", "", $page);
    11. $page = ereg_replace("</body>.*", ",", $page);
    12. $numbers = explode(",", $page);
    13. $shoutcast_currentlisteners = $numbers[0]; //variable ueber die aktuelle anzahl der zuhoerer
    14. $connected = $numbers[1]; //variable zum anzeigen ob ein sender verbunden sind
    15. if($connected == 1) {
    16. $radio_status = 1; //variable zum anzeigen ob radio an ist oder nicht
    17. $wordconnected = "yes"; //zusaetzliche variable die ich brauchte;)
    18. }
    19. else
    20. $wordconnected = "no"; //zusaetzliche variable die ich brauchte
    21. $shoutcast_peaklisteners = $numbers[2]; //variable die die anzahl der peaks angiebt
    22. $shoutcast_maxlisteners = $numbers[3]; //variable ueber die maximal moegliche anzahl der zuhoerer
    23. $shoutcast_reportedlisteners = $numbers[4]; //
    24. $shoutcast_bitrate = $numbers[5]; //bitrate;)
    25. $shoutcast_cursong = $numbers[6]; //aktueller song
    26. $shoutcast_curbwidth = $shoutcast_bitrate * $shoutcast_currentlisteners; //gesamtbandbreite
    27. $shoutcast_peakbwidth = $shoutcast_bitrate * $shoutcast_peaklisteners; //gesamtpeakbandbreite
    28. }
    29. ## output on ##
    30. echo '<html><title>Shoutcast</title><body>';
    31. if ($radio_status == 1) {
    32. echo 'Anzahl der hoerer: ' . $shoutcast_currentlisteners . '<br />';
    33. echo 'Gesamtbandbreite: ' . $shoutcast_curbwidth . ' kb/s<br />';
    34. echo 'Bitrate: ' . $shoutcast_bitrate .' kb/s <br />';
    35. echo 'Zuhoerer Peak: ' . $shoutcast_peaklisteners . '<br />';
    36. echo 'Bandbreite Peak: ' . $shoutcast_peakbwidth . ' kb/s<br />';
    37. echo 'Max. moegliche Zuhoerer: ' . $shoutcast_maxlisteners . '<br />';
    38. echo 'Aktueller Song: >>' . $shoutcast_cursong . '<< <br />';
    39. }
    40. else {
    41. echo '<h1>Sorry aber das radio ist zur zeit offline!</h1>';
    42. }
    43. echo '</body></html>';
    44. ## output off ##
    45. ?>
    Alles anzeigen
    Beste Grüße,
    M4rc3L-XCN
  • Hey,
    nein sry, das ist nicht das was ich wirklich suche, bzw das kenn ich schon. Aber ich habe dir das mal per ICQ geschrieben wie ich das meinte, aber jetzt mal eine Anfrage.
    Wäre es möglich das ganze irgendwie in MySQL abzuspeichern, und das die Datenbank irgendwie per Cronjob aufgerufen wird u die Datenbank das ausführt ?!
    Oder hättete jemand von euch noch eine andere Lösung ?!
    Ich würd zu gern die Welt verändern, doch Gott rückt den Quellcode net raus.
  • Wenn der Shoutcast Server Open Source ist, kannst du bestimmt einen MySQL Updater (vermutlich in C?) einbinden. Aber einfach stelle ich mir das nicht vor.
    Dann doch lieber eine andere Shoutcast Schnittstelle: php-resource.de/scripte/show/6761/

    Ob die Software eine Telnet Verbindung aufbaut oder wie du nur mit Browser Requests arbeitet weiß ich nicht.
  • Mit dem Script da das ihr mir die ganze Zeit schickt, hat das garnichts zu tun... :( das ist was total anderers.
    Ich hab diesen Code geschrieben:

    Quellcode

    1. <html>
    2. <head>
    3. <meta http-equiv="refresh" content="15; URL=refresh.html">
    4. </head>
    5. <body>
    6. <iframe height="200" width="200" src="http://85.214.28.248:8000/admin.cgi?pass=PW&mode=updinfo&song=Track%20Update%20@%20www.DACOOON.COM" scrolling="no">
    7. </iframe>
    8. </body>
    9. </html>

    Das funktioniert au wunderbar im FF, halt nur so lange die der Browserauf ist, was ja au irgendwie klar ist, nur halt genau den gleiche effekt sollte er jetzt machen, nichts anders oder so.
    Ich würd zu gern die Welt verändern, doch Gott rückt den Quellcode net raus.
  • Wenn ich auf die URL gehe, erhalte ich eine HTTP Auth Abfrage. Mach es doch darüber.
    Das Passwort per GET zu übergeben, halte ich sowieso für unsicher. Steht sogar in den Logfiles.

    FUnktionieren tut das mit einer Header-Zeile:

    Quellcode

    1. Authorization: Basic ".base64_encode("$user:$pass")


    Weiteres: [phpdoc]fsockopen[/phpdoc], [google]fsockopen Authorization Basic base64[/google]