利用cronlog 切割tomcat日誌文件(非root用戶)

引言:

公司項目部署在tomcat上,隨着時間的推移,tomcat/logs下的日誌文件catalina.out會越來越大。如下圖所示,是我們公司的項目日誌文件,大家可以看到catalina.out已經有5.2G這麼大了。爲了避免日誌文件不斷的增大下去,前段時間利用cronlog對日誌文件做了切割,切割以後日誌文件就會每天單獨生成一個,而不會都堆積到一個catalina.out中。本文適用於tomcat7及以後版本。

如何切割:

1、下載安裝包,我下載的是cronolog-1.6.2.tar.gz ,不想自己找的可以直接到我網盤下載:

https://pan.baidu.com/s/1EgaGyZiG2BFEGjYAPgui7A  提取碼: 6wy9 

2、放到自己有權限的目錄下面比如我的是在/home/klapp/bddj_new/cronolog

3、解壓:tar zxvf cronolog-1.6.2.tar.gz,解壓後就生成了對應的文件夾,如圖:

4、進入cronolog安裝文件所在目錄:cd  cronolog-1.6.2  ,在這個目錄中有很多文件,其中那個configure就是我們一會要安裝cronolog要用到的。

這裏需要注意一點,cronolog在安裝的過程中默認會在 /usr/local/下新建sbin文件夾,而我們是非root用戶,是沒有權限在這個目錄下創建文件夾的,所以直接通過網上所說的命令:./configure  之後再執行makemake install是會報錯的。所以我們需要做一些調整,不讓文件夾創建在/usr/local/下,而是創建在一個我們擁有權限的目錄下。具體怎麼調整,看下面的第5部。

5、通過命令vi configure進入到configure中,點擊i進入編輯模式,將下面的紅框(大約在12行附近)部分的路徑修改爲你有權限建立文件夾的路徑。比如我的就是把原來的/usr/local修改爲了/home/klapp/bin  ,修改該完以後點擊esc鍵退出編輯模式,之後再輸入:wq保存並退出configure

6、再次運行,執行完下面這幾條命令後cronolog就算安裝完成了。我們到剛纔寫的目錄下看一下發現多了info、man、sbin三個文件夾。

注意,如果這時我們用命令which cronolog驗證是否安裝成功,可能會出現usr/bin/which: no cronolog in ...的提示,不用擔心,這不表示你的cronolog沒有安裝成功,只是我們在非root用戶下安裝cronolog都會出現這種情況。which命令會到/usr目錄下去找cronolog這個命令,但剛纔我們已經把安裝目錄修改爲/home/klapp/bin了,所以會出現上面的提示。

./configure
 
make
 
make install

7、cronolog安裝完以後,我們就需要去修改tomcat下的catalina.sh文件了(/tomcat7/bin):vi catalina.sh

(1)註釋掉(#)下面這句話(大約在行400行左右)

#touch "$CATALINA_OUT"

(2)修改如下的兩處(大約在行414、423行左右)

org.apache.catalina.startup.Bootstrap "$@" start \
 
>> "$CATALINA_OUT"  2>&1 &

修改該爲:(/home/klapp/bin/sbin/cronolog這個目錄是你自己安裝cronolog所在的目錄)


org.apache.catalina.startup.Bootstrap "$@" start 
2>&1 |/home/klapp/bin/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &

8、完成之後重起Tomcat就可以看到logs文件中存在catalina-2019-12-03.out樣式的日誌。如下:

 

發佈了23 篇原創文章 · 獲贊 62 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章