[精讚] [會員登入]
798

[CENTOS7] 使用 logrotate 來整理wildfly日誌檔

解決 wildfly 的日誌檔不斷長大的問題

此文完整連結 http://n.sfs.tw/12926

複製連結 [CENTOS7] 使用 logrotate 來整理wildfly日誌檔@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2018-11-29 12:03:17 最後編修
2018-11-22 18:09:54 By 張○○
 

Unix 系統中的日誌檔存放在 /var/log/  中,可供我們查錯及觀察。日誌檔最大的問題是會不斷的長大。

但是其他的日誌檔如果不定時去清空,也許就會長大到非常的可怕的地步,像我曾看過的網頁記錄,才三個月就達3G。

手動清空

如果要將記錄內容清空,移除再建立是一個方法,但不是很好的方法,可以採用下面這個指令

例如:

# cat /dev/null > /var/log/httpd-error.log

或是

# echo '' > /var/log/httpd-error.log

就可以輕鬆的將記錄檔清空。

 

因為架設的 wildfly伺服器的log不斷長大,已經塞爆我的空間,於是採用 logrotate來處理我的記錄檔。

使用 logrotate來定時壓縮及分檔備份

 

一、安裝

系統 centos7

# yum install logrotate

二、設定

logrotate的設定檔為 /etc/logrotate.conf,這裡設定的是全域參數,可以保留不動

# 執行週期
weekly

# 保存幾份資料,4代表會有4+1個
rotate 4

# 壓縮完是否會建一個新的空檔?
create

# 備份檔附檔名加註日期
dateext

# 是否用gz壓縮,預設無
#compress

# 下面是預設的不必動

include /etc/logrotate.d

# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
        minsize 1M
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0600 root utmp
    rotate 1
}

各別的設定檔放在 /etc/logrotate.d/

因為wildfly的log檔在 /var/log/wildfly/console.log

建立一個新的設定檔

# cd /etc/logrotate.d/
# cp yum wildfly
# vi wildfly

修改內容如下

/var/log/wildfly/console.log {
    missingok
    notifempty
    copytruncate
    rotate 10
    compress
    size 300M
    daily
    create 0600 root root
}

missingok 如果找不到 log 檔也沒關係
notifempty 如果檔案為0就略過
copytruncate 先複製 log 檔的內容再清空,因為wildfly會寫到原檔,這個參數一定要設定。
rotate 10  建立10個備份,注意這不算入原本那個
compress  壓縮成gz
size 300M 至少要300m才建立備份

 

三、測試

# logrotate -f /etc/logrotate.conf

<正確的話沒任何的回應>

# logrotate -f /etc/logrotate.d/wildfly

 

四、加入排程

不必加入排程,因為yum 裝完後就已經有在 /etc/cron.daily/ 中存在

除非你要改成自己的排程

10 0 * * 0 /usr/sbin/logrotate /etc/logrotate.conf

 

錯誤排除

error: error creating output file /var/log/wildfly/console.log.X: File exists

建立時已經有檔案,把該檔移除即可

 

參考連結

[1] [FREEBSD] 使用 logrotate 來管理及備份日誌檔@新精讚

[2] https://ihower.tw/blog/archives/3565

[3] https://www.jianshu.com/p/ea7c2363639c 這裡有參數的說明

 

 

你可能感興趣的文章

[Centos6] php5.3升級為php5.6 Centos6 + php5.6 升級

使用RRDTOOL來繪製流量圖 使用RRDTOOL來製作流量圖的簡略說明

[Linux] mongodb 初步--2/3 我使用mongo 的一些大小事:叢集

[Centos7] audit 服務 在紅帽和suse的linux中有一個audit這樣的daemon,寫入的是核心層的記錄。

[Linux] 安裝rsync (selinux 的設定) 在selinux enforcing 的情況下安裝rsync

SELinux 常用指令和檔案 在Redhat系列中,Centos5以後加入了selinux,他並沒有這麼可怕,不必每次看到Selinux ,就想把他

[Centos7] selinux 修改網頁連線的埠號 想把網頁改到非標準的80埠,在selinux上要如何修改?

[CentOS] 改錯fstab 無法開機怎麼辦? Linux 改錯fstab 無法開機怎麼辦?

Centos7 的ifconfig和netstat Centos7 和RHEL 7 最小安裝中竟然沒有ifconfig和netstat?原來centos/rhel準備把這兩個指令作廢,那怎麼辦?

[CentOS] 設定和使用quota quota 的觀念已經很老了,不過每次都會忘記所以寫下來,有需要觀念的朋友請參看鳥哥的網站吧

我有話要說


限制:留言最高字數1000字,超過部分會被截掉。請注意:留言不可帶有網址,會被濾掉。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

安裝SPHINX支援中文 新版本的 sphinx 和舊版不同,網路上很多範例和教學是不能用的。此文是安裝和設定方法分享

UTF8中文字/全形一覽 快速查詢urf-8的中文字,共計13246中文字(5401常用字+7652罕用字+日文或編號),292全形符號,27半形符號。

[CodeIgniter3] 解決無法上傳特定檔案(.sb2)的問題 上傳時出現The filetype you are attempting to upload is not allowed,要怎麼解決?

一個邏輯的錯誤刪了全部檔案的經驗 今天本來想做一件很簡單的事,但卻足足浪費我多一倍的時間,再加上刪掉我全部的檔案,原因只是因為我自己的邏輯錯誤。

詭異的創業思維 創業的思維中,有多少銀彈,有多少技術,有多少人脈,有多少時間等等,每個都要考慮進去,以熱忱建立的關係脆弱的像蘇打餅乾一樣..