4

Linux マシンで logrotate を使用するのは初めてです... アプリの logrotate.d ファイルで設定したものは次のとおりです。

/var/log/myapp.log {
daily
missingok
create 0660 root utmp
rotate 1
}

bash シェルから直接 chmod を使用して、問題のアプリを実行するアカウントの myapp.log ファイルに所有者のアクセス許可を設定しました。

アプリが最初に実行されるときは、すべて問題ありません。それは問題なくログに記録され、すべて問題ありません。しかし、ログがローテーションされると、ログ ファイルが削除されてから、ログ ファイルの再作成が試行され、アクセス許可が拒否されたというエラーが表示されます。

/bin/bash: /var/log/myapp.log: Permission denied

logrotate 構成ファイルまたは chmod などで何か間違ったことをしていることはわかっています...誰かが私を正しい方向に向けて、問題を解決するのを手伝ってくれますか?

4

1 に答える 1

6

bash シェルから直接 chmod を使用して、問題のアプリを実行するアカウントの myapp.log ファイルに所有者のアクセス許可を設定しました。

...だから、「問題のアプリを実行するアカウント」が でない限りroot、設定オプション

create 0660 root utmp

userと groupが所有するパーミッションで(オリジナルを にローテーションした後に)logrotate新しい を作成するように求めているため、間違っています。これらをアプリで必要な属性に置き換えると、問題が解決するはずです。myapp.logmyapp.logmyapp.log.00660rootutmp

于 2011-06-01T21:54:59.663 に答える