Saya memiliki layanan WorkingDirectory=/srv/ctr/current
yang merupakan symlink.
Tampaknya layanan tidak menerima perubahan pada symlink ketika dimulai ulang. Log kesalahan melaporkan /srv/ctr/releases/69
sebagai lokasi tetapi /srv/ctr/current
menunjuk ke /srv/ctr/releases/72
. Apakah ada cara saya bisa mendapatkan systemd untuk mengambil perubahan direktori baru?
systemctl daemon-reload
? Mungkin memicu re-baca symlink.ExecStartPre=/bin/pwd -P
ke layanan Anda, muat ulang / restart layanan dan periksa log. Setidaknya Anda akan tahu apakah itu systemd atau resque ...Jawaban:
Mungkin mencoba menambahkan:
Environment = PWD=/srv/ctr/current
(BTW, sangat senang melihat orang lain menggunakan
/srv/*
untuk layanan mereka.)sumber
ubah file unit systemd Anda menjadi sebagai berikut:
sumber