在開發的系統上線以後,程式一般都會列印很多日誌出來,這些日誌可能會越來越多,最終最嚴重的後果就是把磁碟分割槽都塞滿了,導致系統執行異常等。在開發esoc的過程中,發現linux系統本身是用logrotate維護本身日誌的刪除,壓縮等。因此也就利用logrotate來維護esoc產生的各種日誌。基本處理方式如下:
/var/esoc/log/activemq.log #activemq的日誌
del_log_time=`date -d '-7 day' +%y%m%d` #要刪除的時間
tomcat_log_path=/var/esoc/log/tomcat
#delete localhost logs
curpath=`/bin/pwd`
cd $tomcat_log_path
localfiles=`/bin/ls *.log` #把所有日誌檔案都找出來,然後乙個乙個看時間是否超過7天了
for i in $localfiles; do
logdate=`/bin/echo $i | /usr/bin/awk -f . ''` #取出檔名中的日期
year=`/bin/echo $logdate | /usr/bin/awk -f - ''`
month=`/bin/echo $logdate | /usr/bin/awk -f - ''`
day=`/bin/echo $logdate | /usr/bin/awk -f - ''`
deletedate=$year$month$day
if [ $del_log_time -gt $deletedate ]; then #判斷時間是否超過7天,超過了就刪除
/bin/rm $i
fidone
cd $curpath
/bin/echo "clear tomcat log files successfully!"
最後用logrotate -vf /etc/logrotate.d/esocsystem 驗證看配置是否正確。
總的來說,這種方式比自己寫個程式去維護日誌來得簡單一些。既要學會寫**,又要懂得系統維護的人傷不起啊。。。
使用logrotate實現日誌輪訓壓縮
配置選項說明 compress 通過gzip 壓縮轉儲舊的日誌 nocompress 不需要壓縮時,用這個引數 copytruncate 用於還在開啟中的日誌檔案,把當前日誌備份並截斷 nocopytruncate 備份日誌檔案但是不截斷 create mode owner group 使用指定的檔...
使用Logrotate管理日誌
linux使用某些軟體的時候會產生日誌檔案,而這些軟體本身對日誌不進行分割或者壓縮處理,久而久之會導致日誌檔案異常巨大,影響機器效能,配置不高的機器上尤為嚴重。而logrotate就是管理這些日誌檔案的神器。logrotate會週期性的讀,壓縮,備份,建立新的日誌檔案。你想對日誌檔案做的操作,它基本...
使用logrotate管理nginx日誌檔案
描述 linux日誌檔案如果不定期清理,會填滿整個磁碟。這樣會很危險,因此日誌管理是系統管理員日常工作之一。我們可以使用 logrotate 來管理linux日誌檔案,它可以實現日誌的自動滾動,日誌歸檔等功能。下面以nginx日誌檔案來講解下logrotate的用法。配置 1 在 etc logro...