欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Tomcat日志自動分割的三種方法

 更新時間:2022年07月27日 10:58:07   作者:Johnny.G  
本文主要介紹了Tomcat日志自動分割的三種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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

1、方法一:使用 cronolog

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

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 "&"
替換后該行的內(nèi)容與上面是一樣的

注:為什么 Tomcat7 后會有所不同,因為在它的 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屬于哪個包(確認是否包含在apache里面):

#通過觀察,確認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 安裝后所在目錄(驗證安裝是否成功):

[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 &
#為了與上方區(qū)分,這里日志的名字格式中,日期的年、月、日沒有使用“-”隔開

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

注:為什么 Tomcat7 后會有所不同,因為在它的 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中自動執(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.$vvxyksv9kd
echo "" > catalina.out
rm -rf catalina.out.${d7}

這里就不進行演示了,如果需要自行測試

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

相關文章

  • Tomcat部署war包并成功訪問網(wǎng)頁詳細圖文教程

    Tomcat部署war包并成功訪問網(wǎng)頁詳細圖文教程

    Tomcat是目前web開發(fā)中非常流行的Web服務器,這篇文章主要給大家介紹了關于Tomcat部署war包并成功訪問網(wǎng)頁的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • 解決Tomcat?Caused?by:?java.lang.ClassNotFoundException:?java.util.logging.Logger的問題

    解決Tomcat?Caused?by:?java.lang.ClassNotFoundException:?ja

    這篇文章主要給大家介紹了如何解決Tomcat?Caused?by:?java.lang.ClassNotFoundException:?java.util.logging.Logger的問題,文中有詳細的原因分析及解決方法,需要的朋友可以參考下
    2023-10-10
  • 配置tomcat內(nèi)存大小全過程(windows、linux)

    配置tomcat內(nèi)存大小全過程(windows、linux)

    本文詳細介紹了Java虛擬機(JVM)內(nèi)存參數(shù)的設置方法,包括初始堆內(nèi)存(-Xms)和最大堆內(nèi)存(-Xmx),以及非堆內(nèi)存(PermSize和MaxPermSize)的配置,同時,提供了在Windows和Linux服務器上配置JVM內(nèi)存的具體步驟,并介紹了如何查看配置是否生效以及解決配置無效的問題
    2024-11-11
  • 阿里云服務器Tomcat無法訪問的問題

    阿里云服務器Tomcat無法訪問的問題

    這篇文章主要介紹了阿里云服務器Tomcat無法訪問的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • 如何解決Tomcat啟動后中文亂碼問題

    如何解決Tomcat啟動后中文亂碼問題

    這篇文章主要介紹了如何解決Tomcat啟動后中文亂碼問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Tomcat 是如何管理Session的方法示例

    Tomcat 是如何管理Session的方法示例

    這篇文章主要介紹了Tomcat 是如何管理Session的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • IDEA中Smart?Tomcat插件使用教程

    IDEA中Smart?Tomcat插件使用教程

    本文主要介紹了IDEA中Smart?Tomcat插件使用教程,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-06-06
  • Eclipse添加新server時無法選擇Tomcat7的解決方法

    Eclipse添加新server時無法選擇Tomcat7的解決方法

    有朋友會遇到在New Server對話框中選擇了Tomcat 6/7后卻無法單擊“Next”按鈕的問題,接下來通過本文給大家分享Eclipse添加新server時無法選擇Tomcat7的解決方法,需要的朋友參考下
    2017-01-01
  • Unable?to?start?embedded?Tomcat?Nacos啟動報錯的解決方案

    Unable?to?start?embedded?Tomcat?Nacos啟動報錯的解決方案

    Windows?本地啟動?Nacos(2.2.0)?服務,控制臺報錯?Unable?to?start?embedded?Tomcat,報錯信息:Unable?to?start?embedded?Tomcat,無法加載內(nèi)置的tomcat,本文介紹了Unable?to?start?embedded?Tomcat?Nacos啟動報錯解決方案,需要的朋友可以參考下
    2024-08-08
  • Tomcat部署項目的幾種常見方式[親測]

    Tomcat部署項目的幾種常見方式[親測]

    這篇文章主要介紹了Tomcat部署項目的幾種常見方式,文中給大家提到了三種方法,除此之外還有Tomcat熱部署的方式 ,感興趣的朋友跟隨小編一起看看吧
    2018-11-11

最新評論