日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

tomcat的catalina.out日志按自定義時(shí)間格式進(jìn)行分割的操作方法_Tomcat

作者:三度 ? 更新時(shí)間: 2022-06-04 編程語(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

欄目分類
最近更新