<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
修改前的 tomcat 都是將所有資料儲存在一個紀錄檔檔案 catalina.out 中,平時實驗環境下沒有什麼問題,但是在生產環境中,由於資料量巨大,會導致紀錄檔檢視困難,因此將紀錄檔通過某些方法進行自動分割,而修改後的 tomcat 將會按“日”儲存紀錄檔檔案,檔案格式例如:catalina.2022-6-10.out
RPM包下載方法:在rpmfind.net上搜尋cronolog選擇對應RPM包複製下載連結即可
下戟安裝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 安裝後所在目錄(驗證安裝是否成功):
[root@localhost logs]# whereis cronolog cronolog: /usr/sbin/cronolog /usr/share/man/man1/cronolog.1m.gz
編輯 bin/catalina.sh 檔案(tomcat的啟動檔案):
1.找到下面行並把它用#註釋掉 touch "$CATALINA_BASE"/logs/catalina.out 在新 Tomcat7 的 bin/catalina.sh 檔案要註釋的行是 touch "SCATALINA_OUT" 2.替換下面的行(有兩處,不過一般在-security 中的那一行不需要去關注,不妨兩處全替換了): 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 "&" 替換後該行的內容與上面是一樣的 注:為什麼 Tomcat7 後會有所不同,因為在它的 catalina.sh 檔案中有如下定義 CATALINA_OUT="$CATALINA_BASE" /logs/catalina.out 3.儲存 catalina.sh 檔案並重啟 Tomcat 即可 [root@localhost ~]# systemctl restart tomcat.service
檢視紀錄檔分割結果:
[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 #可以看到已經存在
`rotatelogg` 是 `apache` 自帶的工具
檢視rotatelogs屬於哪個包(確認是否包含在apache裡面):
#通過觀察,確認rotatelegs包含在apache包內,因此僅需要安裝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 安裝後所在目錄(驗證安裝是否成功):
[root@localhost ~]# whereis rotatelogs rotatelogs: /usr/sbin/rotatelogs /usr/share/man/man8/rotatelogs.8.gz
編輯 bin/catalina.sh 檔案(tomcat的啟動檔案):
1.找到下面行並把它用#註釋掉 touch "$CATALINA_BASE"/logs/catalina.out 在新 Tomcat7 的 bin/catalina.sh 檔案要註釋的行是 touch "SCATALINA_OUT" 2.替換下面的行(有兩處,不過一般在-security 中的那一行不需要去關注,不妨兩處全替換了): 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 & #為了與上方區分,這裡紀錄檔的名字格式中,日期的年、月、日沒有使用「-」隔開 在新 Tomcat7 的 bin/catalina.sh 中需要替換的行是 >> "$CATALINA_OUT" 2>&1 "&" 替換後該行的內容與上面是一樣的 注:為什麼 Tomcat7 後會有所不同,因為在它的 catalina.sh 檔案中有如下定義 CATALINA_OUT="$CATALINA_BASE" /logs/catalina.out 3.儲存 catalina.sh 檔案並重啟 Tomcat 即可 [root@localhost ~]# systemctl restart tomcat.service
檢視紀錄檔分割結果:
[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 #可以看到已經存在(紀錄檔格式為了區分,其中日期的年、月、日沒有使用「-」隔開,上方有提及)
Linux環境下切割紀錄檔指令碼
將此指令碼放到 tomcat 下的 bin 目錄,在 crontab中自動執行,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.${d} echo "" > catalina.out rm -rf catalina.out.${d7}
這裡就不進行演示了,如果需要自行測試
到此這篇關於Tomcat紀錄檔自動分割的三種方法的文章就介紹到這了,更多相關Tomcat紀錄檔自動分割內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45