У меня есть сервис, с WorkingDirectory=/srv/ctr/current
которым есть символическая ссылка.
Похоже, служба не перехватывает изменения в символической ссылке при перезапуске. Журнал ошибок сообщает /srv/ctr/releases/69
как местоположение, но /srv/ctr/current
указывает на /srv/ctr/releases/72
. Есть ли какой-нибудь способ, которым я могу получить systemd, чтобы узнать о новом изменении каталога?
systemctl daemon-reload
? Может вызвать перечитывание символической ссылки.ExecStartPre=/bin/pwd -P
к своему сервису, перезагрузите / перезапустите сервис и проверьте журналы. По крайней мере, тогда вы будете знать, если это systemd или resque ...Ответы:
Возможно, попробуйте добавить:
Environment = PWD=/srv/ctr/current
(Кстати, очень рад видеть кого-то еще, использующего
/srv/*
для своих услуг.)источник
измените файл модуля systemd следующим образом:
источник