マニュアルページは私の質問に答えず、ローテーションサイクルを強制したくないので、ここで質問することにしました。
logrotateのマニュアルページには、次の例があります。
"/var/log/httpd/access.log" /var/log/httpd/error.log {
rotate 5
mail www@my.org
size 100k
sharedscripts
postrotate
/usr/bin/killall -HUP httpd
endscript
}
ワイルドカードを使用したすべての例には、1つのエントリのみが含まれています。今、私が興味を持っているのは、これも許可されているかどうかです:
/var/log/httpd/*.log /var/log/httpd/*/*.log {
# ... same as above
}
理由は次のとおりです。複数の仮想ホストがあり、それらの仮想ホストを「所有する」ユーザーごとに分割します。ログファイルは誰でも読み取り可能なため、フォルダーをユーザーホームディレクトリにバインドマウントしますが、ユーザーが「所有する」ログファイルに制限します。 -とにかくそのスキームが必要です)。だから私は/var/log/httpd
、そのディレクトリのサブディレクトリの下にあるログファイルとすべてのログファイルの両方をローテーションするソリューションを探しています- すべてのサブディレクトリを名前でリストする必要はありません。
一般に、マニュアルページには、ワイルドカードルールに対して複数のエントリが可能なのか、完全なパスに対してのみ可能なのかについての手がかりがありません。Debian "Squeeze"に付属しているlogrotateバージョン3.7.8-6を使用していますが、これは必ずしもディストリビューションまたはプログラムバージョンに固有のものではないことを認識しています。