[轉載]Linux下tomcat的catalina.out檔案過大,以及目錄更改解決辦法
原文連結:http://liyan0524.iteye.com/blog/1285644
方法1—分割流
使用cronolog工具切分Tomcat的catalina.out日誌檔案
cronolog一個對日誌切分的小工具,其主頁在http://cronolog.org/,我們也可以用它來切分Apache的日誌。
推薦用此方法,方法如下
先google一下.cronolog-1.6.2.tar.gz
1.下載cronolog-1.6.2.tar.gz
2.安裝
# tar zxvf cronolog-1.6.2.tar.gz
# cronolog-1.6.2/configure
# make
# make install
搞定!
預設是安裝在/usr/local/sbin/下.
3.配置
重點來了.注意嘍!!!
在tomcat/bin/catalian.sh中找到
org.apache.catalina.startup.Bootstrap “$@” start >> “$CATALINA_BASE”/logs/catalina.out 2&1 &
把上面的內容改成:
org.apache.catalina.startup.Bootstrap”$@” start
|/usr/local/sbin/cronolog “$CATALINA_BASE”/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 &
修改好了.重啟
#./catalina.sh start
現去看看勞動成果吧.
# ls /tomcat/logs/
就會發現logs下面多了幾個如同catalina.2006.06.01.log的檔案了.
方法2—指令碼流
事情終究不過是個大檔案處理的問題,強大的bash來搞定;
使用cron每天來備份當前的catalina.out,然後清空他的內容;
參考指令碼如下:
#!/bin/sh
y=`date “+%Y”`
m=`date “+%m”`
d=`date “+%d”`
cd /PATH /tomcat/logs
cp catalina.out catalina.out.$y$m$d
echo
> catalina.out
exit
注意linux系統的cron服務是否啟動,是否正常工作,還有指令碼的存放路徑(原因暫保密)
方法3—猥瑣流
開啟bin目錄下的catalina.sh檔案,終究不過是個bash檔案,
查詢一下,catalina.out總共出現三次;
部分截圖:
shift
touch “$CATALINA_BASE”/logs/catalina.out
if [ “$1” = “-security” ] ; then
echo “Using Security Manager”
shift
“$_RUNJAVA” $JAVA_OPTS “$LOGGING_CONFIG” $CATALINA_OPTS
-Djava.endorsed.dirs=”$JAVA_ENDORSED_DIRS” -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
>> “$CATALINA_BASE”/logs/catalina.out 2>&1 &
if [ ! -z “$CATALINA_PID” ]; then
echo $! > $CATALINA_PID
fi
else
“$_RUNJAVA” $JAVA_OPTS “$LOGGING_CONFIG” $CATALINA_OPTS
-Djava.endorsed.dirs=”$JAVA_ENDORSED_DIRS” -classpath “$CLASSPATH”
-Dcatalina.base=”$CATALINA_BASE”
-Dcatalina.home=”$CATALINA_HOME”
-Djava.io.tmpdir=”$CATALINA_TMPDIR”
org.apache.catalina.startup.Bootstrap “$@” start
>> “$CATALINA_BASE”/logs/catalina.out 2>&1 &
個人覺得也就是這裡是寫catalina.out檔案的;讓他寫到一個其他的空裝置如何?
修改前注意原檔案的catalina.sh的備份喲~!!
修改以上程式碼中的
>> “$CATALINA_BASE”/logs/catalina.out 2>&1 &
為
>> /dev/null 2>&1 &
儲存,然後啟動tomcat,目前這個 catalina.out一直是空的了。
這個方法是偶自己想到的,個人認為比較勇敢,目前還沒有在生產環境測試過。虛擬機器測試是通過的。
方法4—人流
這個方法其實就是linux系統管理員手工去刪除,人工操作;
刪除之前最好停止tomcat的服務;
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。
博文來源廣泛,如原作者認為我侵犯智慧財產權,請儘快給我發郵件
359031282@qq.com聯絡,我將以第一時間刪除相關內容。
相關文章
- 無法建立目錄或檔案 無法建立目錄的解決辦法
- linux更改原始碼安裝目錄後,找不到.so檔案的解決Linux原始碼
- Tomcat目錄和檔案講解Tomcat
- 刪除檔案或目錄提示"檔案或目錄無法刪除"的解決方法!
- 當前安全設定不允許下載該檔案的原因以及圖文解決辦法
- Linux /proc 目錄下檔案粗談(轉)Linux
- Linux中/proc目錄下檔案詳解Linux
- [linux]開啟當前目錄以及PDF檔案-轉帖Linux
- linux下解壓部分zip檔案存在亂碼解決辦法Linux
- [轉載] Linux 目錄詳解Linux
- 關於Android檔案數過大,分包問題的解決辦法Android
- 8.var目錄下的檔案和目錄詳解
- java下載網路大檔案之記憶體不夠的解決辦法(包含分片上傳分片下載)Java記憶體
- Linux更改檔案及目錄許可權問題Linux
- 登錄檔無法開啟的解決辦法
- sbt下載相關依賴過慢的解決辦法
- 前端JS 下載大檔案解決方案前端JS
- Linux 檔案與目錄管理(轉)Linux
- linux將掛載在home目錄下的磁碟轉移到根目錄下Linux
- Linux排查磁碟大檔案或大目錄Linux
- 檔案無法粉碎解決辦法
- 刪除目錄及目錄下所有檔案與子目錄 (轉)
- 磁碟分割槽以及Linux目錄掛載詳解Linux
- Linux系統下無法解除安裝掛載的解決辦法Linux
- Java讀取檔案中含有中文的解決辦法 (轉)Java
- 更改MySQL資料檔案存放目錄位置MySql
- 解決linux開啟檔案數1024限制的解決辦法Linux
- jvm:jmap無法dump檔案的解決辦法JVM
- Linux 下 popen 函式引起的殭屍程式 defunct 以及解決辦法Linux函式
- Linux etc目錄配置檔案詳解Linux
- qt的工程,轉到vs後,中的檔案都編譯不過,解決辦法QT編譯
- 通過 Java 去監測某個目錄下的檔案變動(轉)Java
- Scrapy:根據目錄來下載github上的檔案Github
- Linux 只複製目錄,不復制目錄下的資料檔案Linux
- 轉載--packagekit鎖住yum的解決辦法Package
- Linux解壓檔案到指定目錄的方法Linux
- Linux中如何檢視目錄下的檔案大小?Linux
- Linux 下檔案和目錄的顏色含義Linux