web-dev-qa-db-ja.com

/etc/logrotate.d/の下のサービスを除外してメインのlogrotateジョブで実行する方法

メインのlogrotateの実行中に実行したくないlogrotate.dの下にファイルがあります。このための別のジョブを/etc/crontabに作成しました

45 23   * * *   root    mv /var/log/RemoteSystems/*/*.log /var/log/Archiv/ && logrotate /etc/logrotate.d/test  

ジョブはファイルをディレクトリから別のディレクトリに移動し、logrotateを適用します。このジョブを/etc/crontabのメインのlogrotateジョブとは別に実行したいと思います。問題は、「test」が/etc/logrotate.d/の下にあるため、メインのlogrotateでもう一度実行されることです。実行する「テスト」を除外できるlogrotate.confに挿入できるコマンドはありますか? 「テスト」ファイルが/etc/logrotate.dにない場合、これは発生しませんが、「テスト」を同じパスに維持したいと思います。

4
Ioan

マニュアルman logrotate.confを見ると、特定の拡張子を持ついくつかのファイルを除外できるfind tabooextオプションを読むことができます。

tabooext [+] list
     The current taboo extension list is changed (see the include directive for information on the taboo extensions). If a + precedes the
     list of extensions, the current taboo extension list is augmented, otherwise it is replaced. At startup, the  taboo  extension list
     contains  .rpmsave,  .rpmorig,  ~, .disabled, .dpkg-old, .dpkg-dist, .dpkg-new, .dpkg-bak, .dpkg-del, .cfsaved, .ucf-old, .ucf-dist,
     .ucf-new, .rpmnew, .swp, .cfsaved, .rhn-cfg-tmp-*

.disabledなどのデフォルトの除外拡張子の1つを選択するか、次のような独自の追加の拡張子を指定できます。

tabooext + .test

必要なのは、ファイル名を/etc/logrotate.d/testに変更して、/etc/logrotate.d/test.disabledのようなこれらの拡張子を付けることです。

4
Khaled

以下のように設定ファイルを編集できます:

include /etc/logrotate.d

include /etc/logrotate.d/*.conf

これにより、testファイルを除いて、.conf/etc/logrotate.d/で終わるファイルのみがlogrotateによってピックアップされます。

Logrotateで使用されているファイルが/etc/logrotate.d/にすでにある場合は、これらを更新して.confを含める必要があります。

1
Kev

testファイルを/etc/logrotate.d/ディレクトリ。logrotateによって自動的に取得されます。

手動で実行したい場合は、場所に関係なく、特定のファイルに対してlogrotateを実行するように強制できます。

logrotate --force /tmp/test

どこ /tmp/testは、ファイルの新しい場所です。

0
user403677

「テスト」に触れたくない場合は、include /etc/logrotate.dディレクティブ/etc/logrotate.conf。デフォルトではディレクトリを参照するため、一部のファイル拡張子を除いて、そのディレクトリ内のすべてのファイルを解析します。

試すことができるのは、/ etc/logrotate.dの下の個々のファイルを参照するようにインクルードディレクトリを変更することです。たとえば、/ etc/logrotate.d/aptなどです。そのリストから「test」を除外します。私はこれをテストしていませんが、試す価値があるかもしれません。

0
Daniel t.