Supervisordのログの回転

Supervisordのログの回転

Supervisordには複数のプログラムが設定されています。出力を標準出力に送信し、Supervisord を使用してファイルに渡します。 Supervisordにはログローテーション機能がありますが、問題は「root」アカウントを使用して新しいファイルを作成し、私のプログラム(supervisordを介してユーザーアカウントを使用して実行されます)に書き込むことができないことです。回転後に新しいファイルを作成するためのユーザーを設定できますか?

ベストアンサー1

私の考えにはプログラムに問題があるようです(または問題をよく説明していない可能性があります)。

Supervisordが実行する作業は、プログラムが書き込むパイプ(stdoutとstderr)を作成し、Supervisordがそのパイプを読み取り、ログファイルに書き込むことです。つまり、プログラムは独自の権限の問題のためにstdoutに書き込むことができません。発生する唯一の権限の問題は、スーパーバイザ自体が新しいログファイルを開くことができないことです。

ログにアクセスするために特定のアカウントのみが必要な場合は、set-gidビットが有効なディレクトリにログファイルを配置し、systemdのumaskがグループの読み取り(または書き込み)権限を許可していることを確認してください。

おすすめ記事