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 }
以上三種情況有什麼區別?每個人的 logrotate 功能有何不同?
- 使用
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 recipient@example.org 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 {}
手冊說:
前幾行設置全域選項;在範例中,日誌在輪換後被壓縮。
$$ … $$
它繼續說,前兩個部分(和最後一個)旋轉,,和
/var/log/messages
壓縮/var/log/httpd/access.log
( 由於全域選項)。由於. _ _ _/var/log/httpd/error.log``~/log/*.log``compress``/var/log/news/*``nocompress
如果既沒有
compress
也沒有nocompress
設置為全域選項,並且沒有在日誌文件或日誌文件集的配置部分中使用,則不會logrotate
壓縮受該配置部分影響的旋轉日誌文件。