Shell-Befehle ausführen mit PHP?
Gelegentlich mein media server down geht und ich Frage mich, ob es möglich ist, starten Sie es aus der Ferne mit php zu prüfen, den Hafen und wenn es nicht läuft cron aufrufen (oder auf eine andere Weise) zum ausführen eines shell-Kommandos. Ist dies möglich, weil diese nicht einen starken Bereich für mich. Hier ist der Prozess, den ich verwenden mit PuTTy.
- login-shell
- cd source/red5/dist
- Bildschirm
- ./red5.sh
- STRG-A, dann D zu trennen
- logout
- Möglicherweise finden Sie das tool "monit" bereit: mmonit.com/monit. BTW, vielleicht können Sie komprimieren diese Stufen hinunter zum:
ssh [email protected] 'cd source/red5/dist && screen ./red5.sh'
? - Nicht, dass line benötigen Sie ein Passwort oder einen logout-Befehl? Ich weiß 0 über die shell.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfachste ist, schreiben Sie ein shell-Skript. Und dann einloggen, um remote-Konsole via PHP.
Einen einfachen Weg, das zu erreichen, was Sie wollen, ist zum ausführen dieser Bildschirm:
Wenn Sie können, schreiben Sie ein shell-Skript das tut, was Sie brauchen, dann PHP ' s hat
exec()
,system()
undpassthru()
für Sie.PHP hat eigentlich einen speziellen operator zur Ausführung von shell-Befehlen, der "backtick":
gehen in das angegebene Verzeichnis. (Aber ich weiß nicht viel über die shell, also kann ich nicht umsetzen, Sie die ganze Sache.)
Wenn Sie brauchen viel Kontrolle über die Ausführung (ich weiß nicht ob du das hier brauchen) verwenden proc_open.
können Sie mais-job auf php und setzen Sie den Befehl alle auf .sh-Datei und führen wie diese
59 11 * * 1,2,3,4,5 root-Befehl Datei.sh?token
etwas wie dieses ,wird es sparen Sie
Gibt es mehr als eine gute Antwort hier, aber Sie sollten sich für die Ausführung der init-Skript für red5 statt der .sh oder .bat. Es gibt vorgefertigte init-Skripte sind hier: http://code.google.com/p/bigbluebutton/downloads/detail?name=red5&can=2&q= und hier: http://www.videowhisper.com/forum.php?ftid=48&t=init-file-red5-linux-installations-red5-linux-init.d-chkconfig