.sh als CGI/Perl

G.P.

Legendäres Mitglied
Für das Statistik Programm Piwik möchte ich eine Auto-Archivierung einrichten. Dafür muss auf dem Server täglich eine .sh Datei ausgeführt werden.

Zwar habe ich bei meinem Hoster vor der Anmeldung extra nachgefragt ob .sh Dateien ausgeführt werden können, aber wie so oft ist es nach der Anmeldung nicht mehr so wie vorher versprochen ;(

Nach mehreren Mails mit dem Support, habe ich inzwischen die Antworten bekommen, dass ich die Anweisungen in ein cgi oder perl Script einbinden soll. Da ich davon leider keine Ahnung habe, wollte ich euch mal fragen wie man das am besten machen kann?

Das .sh Skript von Piwik habe ich einmal hier hochgeladen:
http://bit.ly/eiWv7j

Danke für eure Hilfe.
 
Kann mir bitte mal jemand sagen, was genau folgender PHP aufruf macht?
Irgendwie habe ichd as Gefühl, dass er mir zwar den Inhalt der Datei wieder gibt, diese aber nicht ausführt.

CODE <?
exec("php archive.sh openImmoImport",$ausgabe);
print_r($ausgabe);
?>


MfG
 
QUOTE Irgendwie habe ichd as Gefühl, dass er mir zwar den Inhalt der Datei wieder gibt, diese aber nicht ausführt.


Genau das passiert.

Der Interpreter parst die übergebene Datei, gibt sie aus und sucht nach "<?php", um den so geklammerten Code auszuführen.

An dieser Stelle den PHP-Interpreter per exec aufzurufen, ist aber absolut sinnfrei, denn Du willst ja ein Shellscript ausführen, also:


CODE
<?
exec("archive.sh openImmoImport",$ausgabe);
print_r($ausgabe);
?>



Wobei dann eventuell ein Fehler a la "sh: archive.sh: command not found" auftaucht.

Dann entweder den absoluten Pfad zu archive.sh mit angeben oder es mit ./archive.sh versuchen...

Ob das Ganze aber überhaupt funktionieren wird, hängt stark von der individuellen php-Konfiguration (safe_mode, disable_functions, ...) ab, so dass hier im Zweifelsfall auch nur der Hoster fundierte Informationen liefern kann...
 
Könnte man auch per Cronjob lösen (zuerst verschieben dann ein rm, fertig), direkt mit dem Befehl. Ich kenne einen Kunden der macht das so mit seinen Webcambildern.
 
Zurück
Oben