
Ich verwende Ubuntu 15.04 Server auf einem VPS. Ich versuche, es so einzurichten, dass mein Freund eine Konfigurationsdatei für einen Spieleserver über FTP ändern und dann, wenn das erledigt ist, ein Shell-Skript ausführen kann, das den Server beendet und dann neu startet. Danke!
Antwort1
Ausführen eines Skripts nach dem Hochladen
pureftpd
bietetpure-uploadscript
, mit dem Sie den Spielvorgang neu starten können:
BESCHREIBUNG
Wenn Pure-FTPd mit kompiliert wird
--with-uploadscript
(Standard in Binärdistributionen) und-o
(oder--uploadscript
) an den Server übergeben wird,/var/run/pure-ftpd.upload.pipe
wird eine benannte Pipe namens erstellt. Sie werden auch eine wichtige Datei namens bemerken/var/run/pure-ftpd.upload.lock
, die zum Sperren verwendet wird. Nach einem erfolgreichen Upload wird der Dateiname in die Pipe geschrieben.pure-uploadscript
liest diese Pipe, um automatisch jedes Programm oder Skript auszuführen, das die neu hochgeladene Datei verarbeitet.
(von demmanpage)
Verwenden Sie dies, um eine Änderung in der/den Konfigurationsdatei(en) des Spiels zu erkennen (die hochgeladene/geänderte Datei wird als erstes Argument an das Skript übergeben $1
) und starten Sie den Spielserver neu, wenn sie geändert werden.
Andernfalls könnten Sie einige bash
Skripte verwenden und die Konfigurationsdatei cron
überprüfen und den Server neu starten, wenn er sich auf etwas Neueres ändert. Oder Sie könntenmtime
wirklich schickund Haken inotify
über so etwas wieinotify-tools
; aber das ist hierfür wahrscheinlich übertrieben.
Antwort2
Vorausgesetzt, Sie verwenden oder werden verwendenproftpddann können Sie das Modul verwendenmod_execund führen Sie einen Befehl aus, wenn die Datei geändert wird.
Ich empfehle dies jedoch nicht - Sie sollten eine kontrollierte Remote-Sitzung verwenden, um den Dienst neu zu starten. Dies könnte mit einem Benutzer mit den geringsten Berechtigungen und anschließender korrekter Angabe dersudoersDatei, um nur den Zugriff auf den gewünschten Dienst zuzulassen.