今天在tomcat
上檢視專案日誌的時候,發現
catalina.out
檔案竟然已經達到
202m了,
決定做一下日誌的分割
.先看了一下
crontab
任務中,
發現有個刪除前
10天日誌的自動任務
,但是沒有發現切割的自動任務
. 搜了一下,據說
tomcat
有預設的日誌分割功能
,能每天自動生成類似
catalina.2010-10-08.log
的檔案,
但是預設
catalina.out
檔案卻一直增長
.據說到一定大小時佔磁碟空間(廢話
),影響效能
,且會報錯
,這點暫時沒發現
.其他的查了一下
logs
檔案確實如此
. 解決方法,使用
cronolog
進行日誌切割,據說
cronolog
是個切割日誌的小工具
,可以切割很多種日誌檔案
,有空得試試
.具體做法如下: 1
# wget
2、解壓縮
# tar zxvf cronolog-1.6.2.tar.gz
3、進入
cronolog
安裝檔案所在目錄
# cd cronolog-1.6.2
4、執行安裝
(如沒有安裝
gcc,
則先安裝
gcc)
# ./configure
# make
# make install
5、檢視
cronolog
安裝後所在目錄(驗證安裝是否成功)
# which cronolog
一般情況下顯示為:
/usr/local/sbin/cronolog
6.進入
tomcat
的bin
目錄,開啟
catalina.sh
檔案,找到
tomcat
啟動的相關行,或者你直接查詢
catalina.out
,一般我們修改下面行中的內容, 修改
org.apache.catalina.startup.bootstrap 「$@」 start \
>> 「$catalina_base」/logs/catalina.out 2>&1 &
為org.apache.catalina.startup.bootstrap 「$@」 start 2>&1 \
| /usr/local/sbin/cronolog 「$catalina_base」/logs/catalina.%y-%m-%d.out >> /dev/null &
完成之後重起
tomcat
就可以了,在
logs
目錄下可以看到
catalina.2018-08-28.out
的日誌,是按日生成的。
Nginx 日誌檔案切分
bin bash 切分nginx日誌 目錄base dir usr local nginx 檔名base file name access.log 原日誌目錄 home path base dir logs 備份日誌目錄 bak path base dir datalogs 原檔案 home fil...
Nginx 日誌檔案切分
bin bash 切分nginx日誌 目錄base dir usr local nginx 檔名base file name access.log 原日誌目錄 home path base dir logs 備份日誌目錄 bak path base dir datalogs 原檔案 home fil...
nginx日誌檔案切分
定義cut nginx log.sh日誌檔案指令碼如下 bin bash logs path為日誌存放路徑 logs path weblog nginx logs yesterday date d yesterday y m d keeptime date d 30 days y m d 切分日誌檔...