2017-07-10 45 views
-1

//,這個問題有點模棱兩可。Logrotate刪除.gz文件嗎?也就是說,使用*路徑旋轉現有的.gz文件?

下面是這種情況:

我日誌以下三個擴展,但是我現在的規則只適用於* .log文件:

.1 
.log 
.txt 

另外,因爲Tomcat的旋轉日誌,我具備以下條件:

.gz 

我想旋轉所有這些文件,但我不想與任何.gz.gz落得文件。我該怎麼做呢?

logrotate的規則爲Tomcat

目前,我有Tomcat的日誌以下規則:

% sudo cat /etc/logrotate.d/tomcat 
# THIS FILE IS AUTOMATICALLY DISTRIBUTED BY PUPPET. ANY CHANGES WILL BE 
# OVERWRITTEN. 

/opt/apache-tomcat_1/logs/*.log { 
    compress 
    daily 
    delaycompress 
    maxage 60 
    maxsize 500M 
    minsize 1k 
    rotate 20 
    size 100k 
} 

爲了嘗試解決這個問題,我可以在/opt/apache-tomcat_1/logs/*.log路徑更改爲類似/opt/apache-tomcat_1/logs/*,但我想知道是否會以與.log.txt文件相同的方式重新壓縮或處理.gz文件。

請問logrotate有一些方法知道離開現有.gz文件足夠單獨嗎?

其他文件

上一次/etc/cron.daily/logrotate得到更新爲大約12天前:

% sudo ls -lanh /etc/cron.daily/logrotate 
-r-xr-xr-x 1 0 0 313 Jun 29 21:48 /etc/cron.daily/logrotate 

其內容如下:

#!/bin/sh 
# THIS FILE IS AUTOMATICALLY DISTRIBUTED BY PUPPET. ANY CHANGES WILL BE 
# OVERWRITTEN. 

OUTPUT=$(/usr/sbin/logrotate /etc/logrotate.conf 2>&1) 
EXITVALUE=$? 
if [ $EXITVALUE != 0 ]; then 
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]" 
    echo "${OUTPUT}" 
fi 
exit $EXITVALUE 

而且,如果它的相關:

% cat /etc/logrotate.conf 
# THIS FILE IS AUTOMATICALLY DISTRIBUTED BY PUPPET. 
# ANY CHANGES WILL BE OVERWRITTEN. 

create 
weekly 
rotate 4 

# configurable file rotations 
include /etc/logrotate.d 

我爲此做了quick search online,而foundsomeresults。 askubuntu.com的答案是最接近的,但我仍然不確定logrotate是否會「輪換」.gz由另一個服務(如Tomcat)創建的文件。

在logrotate路徑中使用* globbing時,這些結果中的任何內容都不會回答關於由其他服務(例如Tomcat)創建的預先存在的.gz文件的此特定問題。

現在,我只需用多個路徑/規則解決這個:https://v.gd/yNfAAu

但我很好奇。什麼腳本行爲智能地使logrotate忽略現有的.gz文件,或者以不同的方式處理它們,同時仍然刪除那些足夠舊或較大的文件? Logrotate是否有辦法做到這一點?

+0

//閱讀了這篇文章,現在看起來它可能更適合於serverfault.com。隨意根據需要遷移,或建議編輯。 –

+1

可以發佈到askubuntu.com也 –

+4

什麼是//,? – chepner

回答

1

從「人logrotate的」

可以使用變量「tabooext」指定您希望logrotate的忽略文件擴展名。