国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Tomcat日志自動(dòng)分割的三種方法

瀏覽:116日期:2023-03-19 16:51:56
目錄
  • 1、方法一:使用 cronolog
  • 2、方法二:使用 rotatelogs
  • 3、方法三:使用腳本

修改前的 tomcat 都是將所有數(shù)據(jù)保存在一個(gè)日志文件 catalina.out 中,平時(shí)實(shí)驗(yàn)環(huán)境下沒有什么問題,但是在生產(chǎn)環(huán)境中,由于數(shù)據(jù)量巨大,會(huì)導(dǎo)致日志查看困難,因此將日志通過某些方法進(jìn)行自動(dòng)分割,而修改后的 tomcat 將會(huì)按“日”保存日志文件,文件格式例如:catalina.2022-6-10.out

1、方法一:使用 cronolog

官網(wǎng):http://cronolog.org

RPM包下載方法:在rpmfind.net上搜索cronolog選擇對(duì)應(yīng)RPM包復(fù)制下載鏈接即可

下戟安裝cronolog:

[root@localhost ~]# yum install https://rpmfind.net/linux/epel/7/x86_64/Packages/c/cronolog-1.6.2-14.el7.x86_64.rpm -y

查看 cronolog 安裝后所在目錄(驗(yàn)證安裝是否成功):

[root@localhost logs]# whereis cronolog
cronolog: /usr/sbin/cronolog /usr/share/man/man1/cronolog.1m.gz

編輯 bin/catalina.sh 文件(tomcat的啟動(dòng)文件):

1.找到下面行并把它用#注釋掉
touch "$CATALINA_BASE"/logs/catalina.out
在新 Tomcat7 的 bin/catalina.sh 文件要注釋的行是
touch "SCATALINA_OUT"

2.替換下面的行(有兩處,不過一般在-security 中的那一行不需要去關(guān)注,不妨兩處全替換了):
org.apache.catalina.startup.Bootstrop "$@" 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>>/dex/null &

在新 Tomcat7 的 bin/catalina.sh 中需要替換的行是
>> "$CATALINA_OUT" 2>&1 "&"
替換后該行的內(nèi)容與上面是一樣的

注:為什么 Tomcat7 后會(huì)有所不同,因?yàn)樵谒?catalina.sh 文件中有如下定義
CATALINA_OUT="$CATALINA_BASE" /logs/catalina.out

3.保存 catalina.sh 文件并重啟 Tomcat 即可
[root@localhost ~]# systemctl restart tomcat.service

查看日志分割結(jié)果:

[root@localhost ~]# ll -d /usr/local/tomcat/logs/catalina-2022-06-10.out
-rw-r--r-- 1 tomcat tomcat 106331 Jun 10 16:51 /usr/local/tomcat/logs/catalina-2022-06-10.out
#可以看到已經(jīng)存在

2、方法二:使用 rotatelogs

`rotatelogg` 是 `apache` 自帶的工具

查看rotatelogs屬于哪個(gè)包(確認(rèn)是否包含在apache里面):

#通過觀察,確認(rèn)rotatelegs包含在apache包內(nèi),因此僅需要安裝httpd即可順帶安裝rotatelegs

[root@localhost logs]# yum whatprovides */rotatelogs
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
?* base: mirrors.dgut.edu.cn
?* extras: mirrors.dgut.edu.cn
?* updates: mirrors.dgut.edu.cn
httpd-2.4.6-95.el7.centos.x86_64 : Apache HTTP Server
Repo ? ? ? ?: base
Matched from:
Filename ? ?: /usr/sbin/rotatelogs

httpd-2.4.6-97.el7.centos.x86_64 : Apache HTTP Server
Repo ? ? ? ?: updates
Matched from:
Filename ? ?: /usr/sbin/rotatelogs

httpd-2.4.6-97.el7.centos.1.x86_64 : Apache HTTP Server
Repo ? ? ? ?: updates
Matched from:
Filename ? ?: /usr/sbin/rotatelogs

httpd-2.4.6-97.el7.centos.2.x86_64 : Apache HTTP Server
Repo ? ? ? ?: updates
Matched from:
Filename ? ?: /usr/sbin/rotatelogs

httpd-2.4.6-97.el7.centos.4.x86_64 : Apache HTTP Server
Repo ? ? ? ?: updates
Matched from:
Filename ? ?: /usr/sbin/rotatelogs

httpd-2.4.6-97.el7.centos.5.x86_64 : Apache HTTP Server
Repo ? ? ? ?: updates
Matched from:
Filename ? ?: /usr/sbin/rotatelogs

安裝httpd:

[root@localhost ~]# yum install httpd -y

查看 rotatelogs 安裝后所在目錄(驗(yàn)證安裝是否成功):

[root@localhost ~]# whereis rotatelogs
rotatelogs: /usr/sbin/rotatelogs /usr/share/man/man8/rotatelogs.8.gz

編輯 bin/catalina.sh 文件(tomcat的啟動(dòng)文件):

1.找到下面行并把它用#注釋掉
touch "$CATALINA_BASE"/logs/catalina.out
在新 Tomcat7 的 bin/catalina.sh 文件要注釋的行是
touch "SCATALINA_OUT"

2.替換下面的行(有兩處,不過一般在-security 中的那一行不需要去關(guān)注,不妨兩處全替換了):
org.apache.catalina.startup.Bootstrop "$@" start \
?? ?>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
修改為
org.apache.catalina.startup.Bootstrap "$@" start \
2>&1 | /usr/sbin/rotatelogs "$CATALINA_BASE"/logs/catalina-%Y%m%d.out 86400 480 &
#為了與上方區(qū)分,這里日志的名字格式中,日期的年、月、日沒有使用“-”隔開

在新 Tomcat7 的 bin/catalina.sh 中需要替換的行是
>> "$CATALINA_OUT" 2>&1 "&"
替換后該行的內(nèi)容與上面是一樣的

注:為什么 Tomcat7 后會(huì)有所不同,因?yàn)樵谒?catalina.sh 文件中有如下定義
CATALINA_OUT="$CATALINA_BASE" /logs/catalina.out

3.保存 catalina.sh 文件并重啟 Tomcat 即可
[root@localhost ~]# systemctl restart tomcat.service

查看日志分割結(jié)果:

[root@localhost ~]# ll -d /usr/local/tomcat/logs/catalina-20220610.out
-rw-r--r-- 1 tomcat tomcat 105380 Jun 10 17:22 /usr/local/tomcat/logs/catalina-20220610.out
#可以看到已經(jīng)存在(日志格式為了區(qū)分,其中日期的年、月、日沒有使用“-”隔開,上方有提及)

3、方法三:使用腳本

Linux環(huán)境下切割日志腳本

將此腳本放到 tomcat 下的 bin 目錄,在 crontab中自動(dòng)執(zhí)行,shell腳本如下:
#!/bin/bash
cd `dirname $0`
d=`date +%Y-%m-%d`
d7=`date -d"7 day ago" +%Y-%m-%d"

cd ../logs/

cp catalina.out catalina.out.$is2tiay
echo "" > catalina.out
rm -rf catalina.out.${d7}

這里就不進(jìn)行演示了,如果需要自行測(cè)試

到此這篇關(guān)于Tomcat日志自動(dòng)分割的三種方法的文章就介紹到這了,更多相關(guān)Tomcat日志自動(dòng)分割內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: Tomcat
主站蜘蛛池模板: 国产a一级毛片含羞草传媒 国产a自拍 | 欧美一级视频在线观看欧美 | 99久久99久久久99精品齐 | 香蕉超级碰碰碰97视频在线观看 | 本道久久综合88全国最大色 | 日韩美女在线视频 | 欧美视频一区二区三区 | 国产成人精品高清免费 | 国产一区二区三区影院 | 中文字幕有码在线 | 国内国语一级毛片在线视频 | 亚洲精品午夜一区二区在线观看 | 久久亚洲国产欧洲精品一 | 香蕉三级 | 99在线精品视频免费观里 | 亚洲资源在线观看 | 中国精品视频一区二区三区 | 精品国产一区二区三区久久影院 | 日本欧美一区二区三区在线 | 正在播放国产大学生情侣 | 欧美成人性色生活片天天看 | 成人免费大片a毛片 | 国产成人免费影片在线观看 | 色网站在线| 国产日本三级欧美三级妇三级四 | 久久精品成人欧美大片免费 | 91大神大战丝袜美女在线观看 | 亚洲第三区| 欧美日韩精品一区二区视频在线观看 | 九九精彩视频在线观看视频 | 欧美成人手机在线 | 三级三级三级网站网址 | 手机毛片 | 日本三级2021最新理论在线观看 | 欧美三级aaa | 一级伦理电线在2019 | 中文字幕国产一区 | 国产午夜亚洲精品理论片不卡 | 中国二级毛片 | 久草视频免费在线看 | 一区二区三区影院 |