//,這個問題有點模棱兩可。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是否有辦法做到這一點?
//閱讀了這篇文章,現在看起來它可能更適合於serverfault.com。隨意根據需要遷移,或建議編輯。 –
可以發佈到askubuntu.com也 –
什麼是//,? – chepner