- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網協(xié)會理事單位
- 安全聯(lián)盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
鑒于在調試logback和log4j的文件切割一直無法成功,隨性用shell寫個腳本用來切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的話,可以留下使用方式,先謝謝了)
1:廢話?說,直接貼上腳本:
#!/bin/sh log_dir=/var/log/tomcat monitor_file=$1 #tomcat目錄下的catalina.out文件的絕對路徑 file_size=`du -m $monitor_file | awk '{print $1}'` if [ $file_size -ge 100 ] then if [ ! -d $log_dir ] then mkdir /var/log/tomcat #創(chuàng)建保存切割文件目錄,這個路徑可以自行修改,保存到你想要的目錄 fi cp $1 /var/log/tomcat/log-`date +%Y-%m-%d-%H%M%S`.log #保存日志文件 echo `date +%Y-%m-%d-%H:%M:%S`":文件切割" >>/var/log/tomcat/split.log #記錄切割日志 echo "" > $1 #清空tomcat的log/catalina.out文件內容 fi
說明:這個腳本很簡單,linux用個定時器沒分鐘定時掃描日志文件的大小,就是當文件大于100M的時候,先把文件復制到指定的目錄,再清空原先tomcat的日志文件。這里是用crontab來使用定時器,至于這個命令的語法在這里就不多說,有興趣的可以自行google,這里還是有個小小的不足,因為是按每分鐘定時去掃描日志文件,所以最后切割文件大小還是會在100~102M之間。
然后就用定時器,定時執(zhí)行這個腳本
2:用 crontab -e 編輯定時器代碼
*/1 * * * * sh /lee_js/monitor_script.sh /opt/apache-tomcat-7.0.67/logs/catalina.out #第一個路徑是腳本的路徑,第二個參數是tomcat下catalina.out文件的絕對路徑
然后保存
至此搞定日志切割
注:若沒有crontab命令 可使用 yum安裝:
yum install vixie-cron
yum install crontabs
提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!
這條文檔是否有幫助解決問題?
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP