%20immer%20einen%20bestimmten%20Befehl%20aus%3F.png)
Ich habe das Problem, dass der Supervisor jedes Mal nicht mehr ausgeführt wird, wenn ich meinen Server neu starte (vielleicht ist er durchgedreht, weil nicht genügend Arbeitsspeicher vorhanden war, DDoS-Angriffe usw.). Der Grund dafür wurde identifiziert und das Verzeichnis /var/run/supervisor wird einfach gelöscht.
Ich habe erfahren, dass /var/run-Ordner bei einem Hard-Reboot gelöscht werden (über das EC2-Panel, z. B. „Force Stop“ und dann „Start“). Meine bescheidene Frage lautet daher:
Wie kann ich dies nach jedem Hard-Reboot ausführen mkdir /var/run/supervisor
? Wo ist der perfekte Ort, um eine solche Logik hinzuzufügen? Ich denke, es ist definitiv nicht /etc/profile
(der Rest funktioniert einwandfrei, Supervisor ist als Dienst konfiguriert + verwendet Unix-Sock unter var/run/supervisor/supervisor.sock)
Meine Ubuntu-Version:
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal
Antwort1
In Ubuntu 20 würde ich erwarten, dass Supervisor als systemd-Diensteinheit gestartet wird.
In der Service-Unit für den Supervisor müssen Sie angeben, dass das Verzeichnis erstellt wird: (der Unit-Name kann unterschiedlich sein)
https://serverfault.com/a/779648undhttps://serverfault.com/a/840999
sudo systemctl edit --full supervisor
und fügen Sie eine Anweisung hinzu:
RuntimeDirectory=supervisor