次のブロックには圧縮ステートメントはありません。
/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
回転したログファイルを圧縮しません。デフォルト設定の圧縮または圧縮なしは、使用または変更されません
compress
。nocompress
圧縮のデフォルト設定は、マニュアルのサンプル設定で行った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/*.log
compress
/var/log/news/*
いいえによる圧縮nocompress
。
compress
Norがグローバルオプションに設定されておらず、ログnocompress
ファイルまたはログファイルセットの設定セクションで使用されていない場合logrotate
いいえこの構成セクションの影響を受ける循環ログファイルを圧縮します。
答え2
他の人が述べたように。
デフォルト値を確認する必要があります。これはlogrotate
他の構成に必須ではありません。
マンページではlogrotate
これについて次のように説明します。
compress
以前のバージョンのログファイルが圧縮されています。
gzip(1)
基本的に。また、見ることができますnocompress
。
nocompress
以前のバージョンのログファイルは圧縮されません。また、見ることができます
compress
。