| 

.NET C# Java Javascript Exception

2
Hallo,

ich möchte über ein (CLI-) PHP Script auf meinem Server (SUSE 12.1) ggf. einen Reboot auslösen.

Bei manuellem Aufruf (als root) über die Shell funktioniert dies über "exec('reboot &');" einwandfrei.

Rufe ich das Script aber über den crontab des root auf (via '/usr/bin/php /opt/stats.php'), wird der exec-Befehl ignoriert, der Rest des Scripts (Statistiken bauen etc.) aber ordnungsgemäß ausgeführt.

In der /etc/php/cli/php.ini ist unter "disabled functions" nichts eingetragen.

Was übersehe ich?

Vielen Dank
News:
03.07.2012
doublem 683 1 1 9
1 Antwort
1
Hallo,

ein paar Gegenfragen:

1. Was passiert, wenn du auf das & verzichtest und welchen Rückgabewert liefert dann reboot?
2. Hast du schon mal statt reboot "shutdown -r now" versucht?
3. Hast du schon shell_exec() oder system() versucht?
4. Warum um alles in der Welt willst du deinen Server via cronjob rebooten?

Falls du für 4. eine gute Antwort hast und 1-3 nicht weiterhelfen: Statt exec("reboot &") das Script mit exit(-1) beenden und das ganze via "/usr/bin/php /opt/stats.php || reboot" aufrufen.
04.07.2012
phg 1,6k 4
Schon Frage 1 hat mit "sh: reboot: command not found" den entscheidenen Hinweis gebracht - also Aufrufpfad ergänzt und alles läuft.

Vielen Dank!
doublem 04.07.2012
Gerne, aber etwas schade dass du nicht bis zu Frage 4 gekommen bist. Kann mir im Moment nur Kernelupdate oder Schaltsekunde als Grund für einen Reboot eines Linux-Servers vorstellen ;)
phg 05.07.2012

Stelle deine Php-Frage jetzt!