Logrotateにおける個々の回転と圧縮回転の違いを理解する

Logrotateにおける個々の回転と圧縮回転の違いを理解する

次のブロックには圧縮ステートメントはありません。

/a/b/file.log{
size 200M
create 0664 root root
rotate 10
datext
dateformat -%Y-%m-%d-%s
}

これは圧縮ステートメントを持っています -

/a/b/file.log{
size 200M
create 0664 root root
rotate 10
compress
datext
dateformat -%Y-%m-%d-%s
}

これはnocompressステートメントを持っています -

/a/b/file.log{
size 200M
create 0664 root root
rotate 10
nocompress
datext
dateformat -%Y-%m-%d-%s
}

上記の3つのシナリオの違いは何ですか?それぞれのログロテート機能はどう違いますか?

ベストアンサー1

  • 圧縮を使用してcompressログを回転させます。

  • 使用はnocompress回転したログファイルを圧縮しません。

  • デフォルト設定の圧縮または圧縮なしは、使用または変更されませんcompressnocompress

圧縮のデフォルト設定は、マニュアルのサンプル設定で行ったlogrotateように、設定ファイルの先頭にグローバルオプションとして設定できます。logrotate.conf

# sample logrotate configuration file
compress

/var/log/messages {
    rotate 5
    weekly
    postrotate
        /usr/bin/killall -HUP syslogd
    endscript
}

"/var/log/httpd/access.log" /var/log/httpd/error.log {
    rotate 5
    mail [email protected]
    size 100k
    sharedscripts
    postrotate
        /usr/bin/killall -HUP httpd
    endscript
}

/var/log/news/* {
    monthly
    rotate 2
    olddir /var/log/news/old
    missingok
    postrotate
        kill -HUP $(cat /var/run/inn.pid)
    endscript
    nocompress
}

~/log/*.log {}

このマニュアルには次のように記載されています。

この例では、最初の数行がグローバルオプションを設定し、ログは回転後に圧縮されます。 [...]

続いて、最初の2つの部分(そして最後の部分)は回転され、圧縮され /var/log/messages(グローバルオプションのために)圧縮されます。ファイルが回転します。/var/log/httpd/access.log/var/log/httpd/error.log~/log/*.logcompress/var/log/news/*いいえによる圧縮nocompress

compressNorがグローバルオプションに設定されておらず、ログnocompressファイルまたはログファイルセットの設定セクションで使用されていない場合logrotateいいえこの構成セクションの影響を受ける循環ログファイルを圧縮します。

おすすめ記事