システムサービスの作業ディレクトリとして使用されるシンボリックリンク

システムサービスの作業ディレクトリとして使用されるシンボリックリンク

WorkingDirectory=/srv/ctr/currentシンボリックリンクを持つサービスがあります。

サービスを再起動してもシンボリックリンクの変更は適用されないようです。エラーログは/srv/ctr/releases/69場所として報告され/srv/ctr/currentますが/srv/ctr/releases/72。 systemdに新しいディレクトリの変更を受け入れさせる方法はありますか?

答え1

以下を追加してみてください。

Environment = PWD=/srv/ctr/current

(しかし、他の人が彼らのサービスを使用しているのを見るのは嬉しいです/srv/*。)

答え2

次のようにシステム単位ファイルを変更します。

  • 作業ディレクトリ=/srv/ctr/
  • ExecStart=/bin/start current または ExecStart= cd current && /bin/start

関連情報