2010-12-21 44 views

回答

2

那麼你可以使用delaycompress等待一個週期的文件。基本上如果你每天旋轉,那麼它將保持未壓縮的昨天日誌。

除此之外,你可以嘗試不使用logrotate來壓縮文件,並寫一個bash腳本,每天運行一次,並壓縮所有超過特定日期的文件。

這裏是一個教程來砸我個人很喜歡:http://www.linuxconfig.org/Bash_scripting_Tutorial

6

一種選擇是使用logrotate旋轉到不同的擴展名,然後使用logrotate旋轉到壓縮文件:

/var/log/raw.log { 
    daily 
    nocompress 
    extension .old 
    } 

/var/log/*.old { 
    daily 
    compress 
    delaycompress 
    rotate 10 
    } 

這Rube戈德堡的裝置將導致以下結果:

raw.log 
raw.log.old 
raw.log.old.1 
raw.log.old.2.gz 
raw.log.old.3.gz 

因此,你有兩個存檔的未壓縮日誌。

-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 
+0

你測試它自己?如果是這樣,這個答案會很好。 – nalply 2012-10-21 10:10:26

+0

任何判決?這看起來很棒 – Kevin 2014-01-11 07:04:45

+0

這不起作用,因爲解壓縮日誌不會被刪除。壓縮版本只是添加。 – 2014-08-09 06:59:47