Ich habe einen Debian-Server und muss beim Start nur ein Skript ausführen.
Ich habe folgendes gelesen: https://www.debian-administration.org/article/28/Making_scripts_run_at_boot_time_with_Debian
Ich habe jetzt: insserv: warning: Skript 'fehlende LSB-Tags und Überschreibungen
so wie es aussieht muss ich jetzt noch hinzufügen:
### BEGIN INIT INFO
# Provides: scriptname
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
Es sieht jetzt verrückt aus: wie 30 Zeilen Skript, nur um ein Programm beim Start auszuführen.
Gibt es ein Tool, mit dem dies auf einfache Weise möglich ist?
Grüße
debian
debian-wheezy
yarek
quelle
quelle
Antworten:
Wenn Ihr Skript "nur ein Skript" ist und keinen Daemon startet, sollten Sie die Verwendung von
/etc/rc.local
(als Root ausgeführt) odercrontab
(als Benutzer Ihrer Wahl ausgeführt) in Betracht ziehen .Zwei Beispiele:
/etc/rc.local
crontab
(bearbeitet zB übercrontab -e
)Bearbeiten 1: Lesen Sie einfach Ihren Kommentar: Wenn Ihr Skript Daemons startet, die die ganze Zeit ausgeführt werden sollen, rate ich von der Verwendung von
rc.local
oder abcrontab
und schreibe stattdessen ein geeignetes (oder mehrere)init.d
Skript (e). Auf diese Weise können Sie / Ihr System die Daemons sauber neu starten / neu laden / starten / stoppen usw.Bearbeiten 2: Sie nennen es verrückt, aber die
LSB tags
bieten einen gewissen Wert: "Durch Dokumentieren der Laufzeitabhängigkeiten für init.d-Skripte wird es möglich, die aktuelle Startreihenfolge zu überprüfen, den Start anhand dieser Abhängigkeiten zu ordnen und Startskripte auszuführen parallel, um den Startvorgang zu beschleunigen. " Weitere Informationen finden Sie im Debian-Wiki .(Übrigens: Es ist eine Warnung, es liegt also an Ihnen, wie und was Sie damit anfangen sollen.)
quelle
@reboot root /usr/local/bin/your-script.sh
Supervisor ist auch eine Option. Sie werden wieder einige Zeilen schreiben, um Ihre node.js- und PHP-Sachen zu starten, aber sie werden weniger sein.
quelle
Sie können dazu monitd verwenden. Schreiben Sie einfach eine Monit-Definition und es werden Daemons für Sie gestartet. Aber warum verwenden Sie LSB-Skripte nicht richtig? Es ist nicht so schwer, es zu schreiben (Sie schreiben es nur einmal), und es ist der sauberste und wertvollste Weg, dies zu erreichen.
quelle