Ich habe einen Dienst, mit WorkingDirectory=/srv/ctr/current
dem ein Symlink ist.
Es scheint, dass der Dienst beim Neustart keine Änderungen im Symlink aufnimmt. Das Fehlerprotokoll gibt /srv/ctr/releases/69
den Speicherort an, /srv/ctr/current
zeigt jedoch auf /srv/ctr/releases/72
. Gibt es eine Möglichkeit, systemd dazu zu bringen, den neuen Verzeichniswechsel zu übernehmen?
systemctl daemon-reload
? Könnte ein erneutes Lesen des Symlinks auslösen.ExecStartPre=/bin/pwd -P
, Ihren Dienst zu erweitern, den Dienst neu zu laden / neu zu starten und die Protokolle zu überprüfen. Zumindest wissen Sie dann, ob es systemd oder resque ist ...Antworten:
Versuchen Sie möglicherweise hinzuzufügen:
Environment = PWD=/srv/ctr/current
(Übrigens, ich freue mich sehr, dass jemand anderes
/srv/*
für seine Dienste verwendet wird.)quelle
Ändern Sie Ihre systemd-Einheitendatei wie folgt:
quelle