質問: logrotate設定ファイルの構文 - 複数のワイルドカードエントリが可能か manページは私の質問に答えないし、私は回転サイクルを強制したくないので、私はここで質問をすることにしました。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の下のログファイルとそのディレクトリのサブディレクトリの下にあるすべてのログファイルの両方を回転させる解決法を探しています - なしでそれぞれのサブディレクトリを名前でリストします。一般に、manページには、ワイルドカードルールに対して複数のエントリが使用可能かどうか、またはフルパスに対してのみ使用可能かどうかについての手がかりがありません。私はdebianの "squeeze"に付属しているlogrotateのバージョン3.7.8-6を使っていますが、これは必ずしもディストリビューションやプログラムのバージョンに固有のものではないと考えています。
回答: はい、あなたは複数のワイルドカードを使うことができます。こうすることで、実際のローテーションを実行せずにファイルをテストできます。logrotate -d -f /etc/logrotate.conf -d =デバッグモードをオンにします。デバッグモードでは、ログまたはlogrotate状態ファイルは変更されません。 -f =これが必要であるとは思わない場合でも、logrotateに回転を強制するように指示します。 logrotateに新しいエントリを追加した後や、古いログファイルを手動で削除した場合は、新しいファイルが作成されてロギングが正しく続行されるため、これが役に立つ場合があります。