ローカルユーザーとして logrotate を実行するにはどうすればいいですか?

ローカルユーザーとして logrotate を実行するにはどうすればいいですか?

ローカル スクリプトによって生成されるログを管理しようとしています。これらのログは、ローカル ファイルにリダイレクトされた stdout と stderr にすぎません。私はルート アクセス権を持っていないため、ローカル構成ファイルを使用してローカル ユーザーとして logrotate を実行しようとすると、次のエラーが発生します。

Ignoring /home/user/customlogfile because the file owner is wrong (should be root).
Handling 0 logs

ローカルユーザーとして logrotate を実行することは可能ですか?

答え1

ローカル スクリプトによって生成されるログを管理しようとしています。これらのログは、ローカル ファイルにリダイレクトされた stdout と stderr にすぎません。

logrotateだったらそもそも必要ありません。

以下のうち 1 つ以上を入手してください:

そして、通常の方法で、スクリプトの標準出力と標準エラーをパイプを介して標準入力に送信します。

これらは、自動的に循環され、オンデマンドでローテーション可能で、サイズが厳密に制限されたログのセットを、指定したディレクトリに書き込みます。追加のログローテーションプログラムはまったく必要ありません。いずれもスーパーユーザー権限を必要としません。(実際、スーパーユーザー権限を必要としたり期待したりするどころか、それはベストプラクティスです最も広く知られている使用例では、デーモンの出力をログに記録し、権限のないアカウントで実行します。

関連情報