網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
默認(rèn)情況下,tomcat的catalina.out日志文件是沒有像其它日志一樣,按日期進(jìn)行分割,而是全部輸出全部寫入到一個(gè)catalina.out,這樣日積月累就會(huì)造成.out日志越來(lái)越大,給管理造成了不便,為了實(shí)現(xiàn)像其它日志文件一樣按日期歸檔,這里我采用cronolog來(lái)完成日志分割。
一、安裝Cronolog
1.yum方式安裝
# yum install cronolog
2.下載壓縮包安裝
1. 下載(最新版本) wget http://cronolog.org/download/cronolog-1.6.2.tar.gz 2. 解壓縮 tar zxvf cronolog-1.6.2.tar.gz 3. 進(jìn)入安裝目錄 cd cronolog-1.6.2 4. 運(yùn)行安裝 ./configure make make install 5. 查看是否安裝成功 which cronolog 結(jié)果:/usr/local/sbin/cronolog (這個(gè)是cronolog的安裝路徑,后面會(huì)用到)
二、修改Tomcat下bin/catalina.sh文件
修改要分隔的Tomcat的日志下bin/catalina.sh文件,要修改的在290行。修改前先拷貝一份。 1. cp catalina.sh catalina.sh.bak 2. vim catalina.sh -c 417 或者 vim catalina.sh之后:417 (進(jìn)入到catalina.sh的第417行。)
下面為需要修改的內(nèi)容:標(biāo)紅的是要修改的區(qū)域
修改為: shift # touch "$CATALINA_OUT" if [ "$1" = "-security" ] ; then if [ $have_tty -eq 1 ]; then echo "Using Security Manager" fi shift eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ -classpath "\"$CLASSPATH\"" \ -Djava.security.manager \ -Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \ -Dcatalina.base="\"$CATALINA_BASE\"" \ -Dcatalina.home="\"$CATALINA_HOME\"" \ -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \ org.apache.catalina.startup.Bootstrap "$@" start 2>&1\ | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null & else fi
修改后,重啟Tomcat。可以看到更改已經(jīng)生效。(看到catalina.out出現(xiàn)了catalina.2017-12-19.out等按照日期分類的輸出文件說(shuō)明配置成功)。
三、shell利用crontab自動(dòng)清除日志
1.刪除文件shell命令詳解
find 對(duì)應(yīng)目錄 -mtime +天數(shù) -name "文件名" -exec rm -rf {} \; 例子: find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \; 說(shuō)明:將/opt/soft/log/目錄下所有30天前帶".log"的文件刪除。具體參數(shù)說(shuō)明如下: find:linux的查找命令,用戶查找指定條件的文件; /opt/soft/log/:想要進(jìn)行清理的任意目錄; -mtime:標(biāo)準(zhǔn)語(yǔ)句寫法; +30:查找30天前的文件,這里用數(shù)字代表天數(shù); "*.log":希望查找的數(shù)據(jù)類型,"*.jpg"表示查找擴(kuò)展名為jpg的所有文件,"*"表示查找所有文件,這個(gè)可以靈活運(yùn)用,舉一反三; -exec:固定寫法; rm -rf:強(qiáng)制刪除文件,包括目錄; {} \; :固定寫法,一對(duì)大括號(hào)+空格+\+;
2.創(chuàng)建shell腳本即crontab計(jì)劃任務(wù)
# vim del-15-days-ago-logs.sh find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \; # chmod +x del-15-days-ago-logs.sh # crontab -e 10 0 * * * /opt/soft/log/del-15-days-ago-logs.sh >/dev/null 2>&1
原文鏈接:https://www.cnblogs.com/sanduzxcvbnm/p/16086800.html
相關(guān)推薦
- 2022-03-24 C/C++實(shí)現(xiàn)蛇形矩陣的示例代碼_C 語(yǔ)言
- 2023-02-07 Redis?中ZSET數(shù)據(jù)類型命令使用及對(duì)應(yīng)場(chǎng)景總結(jié)(案例詳解)_Redis
- 2022-01-15 跨域系列之proxy代理,解決跨域的方法之一
- 2022-03-14 ffmpeg開發(fā)讀取目錄列表
- 2022-04-25 老生常談C語(yǔ)言中指針的使用_C 語(yǔ)言
- 2023-07-05 cnpm安裝appium出現(xiàn)cannot find module xxx
- 2022-04-10 新版Microsoft Edge關(guān)閉平滑滾動(dòng),類似chrome效果
- 2022-07-30 Yarn調(diào)度器與調(diào)度算法
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支