logrotate を取得して X 日前に変更されたファイルのみを圧縮する方法はありますか (例: mtime +2)
7941 次
3 に答える
13
1 つのオプションとして、 を使用logrotate
して別の拡張子にローテーションし、次に を使用logrotate
して圧縮ファイルにローテーションすることができます。
/var/log/raw.log {
daily
nocompress
extension .old
}
/var/log/*.old {
daily
compress
delaycompress
rotate 10
}
このルーブ・ゴールドバーグの策略は、次の結果をもたらします。
raw.log
raw.log.old
raw.log.old.1
raw.log.old.2.gz
raw.log.old.3.gz
したがって、圧縮されていない 2 日間のアーカイブされたログがあります。
于 2012-04-27T02:44:16.640 に答える
5
delaycompress を使用してもう 1 サイクル待つことができます。基本的に、毎日ローテーションすると、昨日のログが非圧縮のままになります。
それに加えて、logrotate を使用せずにファイルを圧縮し、bash スクリプトを作成して 1 日 1 回実行し、特定の日付より古いすべてのファイルを圧縮することもできます。
個人的に気に入っている bash のチュートリアルは次のとおりです: http://www.linuxconfig.org/Bash_scripting_Tutorial
于 2010-12-21T02:27:50.840 に答える
-1
以下のようなことはできませんか?
/var/log/access.log {
daily
nocompress
}
/var/log/access.7.log {
daily
compress
}
それはあなたに次のようなものを与えると思います
access.log
access.1.log
access.2.log
access.3.log
access.4.log
access.5.log
access.6.log
access.7.log.gz
access.8.log.gz
access.log
于 2012-05-04T19:41:03.643 に答える