日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

清理tomcat服务器日志文件,Tomcat日志配置与清理

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 清理tomcat服务器日志文件,Tomcat日志配置与清理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天看了下tomcat日志,發現已經有8g多了... ?仔細想想大概有2年多沒有處理過日志了。因為博客線上也沒出過啥問題,所以壓根就沒怎么看過日志。畢竟不是運維 ... 這方面確實沒咋注意,服務器還是有很多需要搞清楚的 。

然后又看了下,其中最大的是catalina.out,占了7.8G,emmm... 啥也不說了,服務器總內存也才50g,趕緊清理掉吧。然后再寫個每天清理的腳本。

日志過大搞不好會把磁盤爆滿服務器直接宕機。所以想著還是優化下日志文件。

tomcat/logs下面主要有這么幾種日志文件

catalina.out

用于記錄tomcat服務日至,一般項目報錯可以在這看具體異常問題。catalina.out其實是tomcat的標準輸出(stdout)和標準出錯(stderr),這是在tomcat的啟動腳本里指定的,如果沒有修改的話stdout和stderr會重定向到這里。所以我們在應用里使用System.out打印的東西都會到這里來。另外,如果我們在應用里使用其他的日志框架,配置了向Console輸出的,則也會在這里出現。比如以logback為例,如果配置ch.qos.logback.core.ConsoleAppender則會輸出到catalina.out里。

localhost_access_log

用于記錄資源訪問日志, 這個日志文件可記錄所有http的get,post訪問日志。相應的ip地址,訪問時間,請求方式(get,post),請求action名稱…..都會輸出來。這樣有利于我們排查一些問題,還可以采集、存儲、分析日志數據得到有價值的東西。

生成這個文件的配置為:xxxxxxxxxx

prefix="localhost_access_log." suffix=".txt"

pattern="%h %l %u %t "%r" [%{postdata}r] %s %{Referer}i %{User-Agent}i %T %b" />

pattern參數詳解參數含義%a這是記錄訪問者的IP,在日志里是127.0.0.1

%A這是記錄本地服務器的IP,在日志里是192.168.254.108

%b發送信息的字節數,不包括http頭,如果字節數為0的話,顯示為-

%B發送信息的字節數,不包括http頭。

%h服務器的名稱。如果resolveHosts為false的話,這里就是IP地址了,例如我的日志里是10.217.14.16

%H訪問者的協議,這里是HTTP/1.0

%l官方解釋:Remote logical username from identd (可能這樣翻譯:記錄瀏覽者進行身份驗證時提供的名字)(always returns ‘-’)

%m訪問的方式,是GET還是POST

%p本地接收訪問的端口

%q比如你訪問的是aaa.jsp?bbb=ccc,那么這里就顯示?bbb=ccc,就是querystring的意思

%rFirst line of the request (method and request URI) 請求的方法和URL

%shttp的響應狀態碼

%S用戶的session ID,這個session ID大家可以另外查一下詳細的解釋,反正每次都會生成不同的session ID

%t請求時間

%u得到了驗證的訪問者,否則就是"-"

%U訪問的URL地址,我這里是/rightmainima/leftbott4.swf

%v服務器名稱,可能就是你url里面寫的那個吧,我這里是localhost

%DTime taken to process the request,in millis,請求消耗的時間,以毫秒記

%TTime taken to process the request,in seconds,請求消耗的時間,以秒記

manager.log

用于記錄tomcat通過manager下的web項目管理日志

....還有其他的一些日志,如果Tomcat以服務的方式運行還會產生以“服務名-stdout.yyyy-mm-dd.log”和“服務名-stderr.yyyy-mm-dd.log”命名的日志,用于記錄標準輸出日志和標準錯誤流日志。還有一個commons-daemon.yyyy-dd-mm.log 用于記錄安裝或者移除Tomcat服務過程產生的日志。

這些日志記錄級別都是info級別。

清理catalina.out

查看日志信息:tail -n 500 /usr/local/apache-tomcat-8.5.38/logs/catalina.outx

cp /usr/local/apache-tomcat-8.5.38/logs/catalina.out /usr/local/apache-tomcat-8.5.38/logs/catalina$(date -d "today" +"%Y%m%d_%H%M%S").log&&echo "" > /usr/local/apache-tomcat-8.5.38/logs/catalina.out

定時清空日志x

添加腳本clean.sh(清空catalina.out和30天以前其他一些日志,logs_path為日志路徑)

#!/bin/bash

logs_path="/usr/local/apache-tomcat-8.5.38/logs/"

d=`date +%Y-%m-%d`

cp $logs_path/catalina.out $logs_path/catalina.$ozvdkddzhkzd.out

>$logs_path/catalina.out;

find $logs_path -mtime +30 -name "catalina.*.out" -exec rm -rf {} \;

find $logs_path -mtime +30 -name "localhost.*.log" -exec rm -rf {} \;

find $logs_path -mtime +30 -name "localhost_access_log.*.txt" -exec rm -rf {} \;

find $logs_path -mtime +30 -name "catalina.*.log" -exec rm -rf {} \;

find $logs_path -mtime +30 -name "manager.*.log" -exec rm -rf {} \;

find $logs_path -mtime +30 -name "host-manager.*.log" -exec rm -rf {} \;

find $logs_path -mtime +30 -name "fileservice.log.*" -exec rm -rf {} \;

添加腳本權限(777權限代表可讀可寫可執行,該登錄用戶(可以用命令id查看)、他所在的組和其他人都有最高權限)

chmod 777 /usr/local/apache-tomcat-8.5.38/logs/clean.sh

開啟定時任務

crontab -e ?(進入定時任務的編輯界面中)

添加下面代碼(每月最后一天23點執行 cron表達式有很多在線生成器)

0 0 23 L * ? /usr/local/apache-tomcat-8.5.38/logs/clean.sh

每天備份tomcat日志腳本xxxxxxxxxx

#!/bin/bash

Backup_Home=/data/backup-log

mkdir -p $Backup_Home

Log_Home=/data/Tomcat/logs

App_Log_Home=/data/app/tomcat/log

Date=`date -d 'yesterday' '+%Y-%m-%d'`

#將昨天tomcat日志mv到備份目錄

/usr/bin/mv $Log_Home/catalina.$Date.log $Backup_Home

/usr/bin/mv $Log_Home/localhost.$Date.log $Backup_Home

cd $Backup_Home

tar -zcf catalina_"$Date"_log.tar.gz catalina.$Date.log

tar -zcf localhost_"$Date"_log.tar.gz localhost.$Date.log

if [ $? -ne 0 ]; then

echo "$Date:備份失敗并退出" >> backup_err.log

exit

else

echo "$Date:***打包成功正在刪除源日志文件***" >> backup_access.log

/usr/bin/rm -rf catalina.$Date.log

/usr/bin/rm -rf localhost.$Date.log

fi

#==========================================================================

echo "app日志開始備份"

/usr/bin/mv $App_Log_Home/springboot.out $Backup_Home/springboot_"`date +%F`".out

cd $Backup_Home

tar -zcf springboot_"`date +%F`".tar.gz springboot_"`date +%F`".out

if [ $? -ne 0 ]; then

echo "`date +%F`:app日志備份失敗并退出" >> backup_err.log

exit

else

echo "`date +%F`:app日志打包成功,正在刪除源文件" >> backup_access.log

/usr/bin/rm -rf springboot_"`date +%F`".out

fi

#清理日志目錄

find Backup_Home/* -mtime +30 -exec rm {} \;

總結

以上是生活随笔為你收集整理的清理tomcat服务器日志文件,Tomcat日志配置与清理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。