2017-03-17 76 views
0

我正在通過作爲cron作業執行的bash腳本截斷catalina.out文件。這裏的代碼是截斷catalina.out而不使用tomcat重啓

# delete catalina.out files larger than 1 GiG, and replace with empty file if deleted 

for f in $(find /tomcat_home*/. -name catalina.out -size +1000M); do 
    rm $f 
    touch $f 
done 

名義上這是書面的。問題是運行的tomcat實例顯然無法登錄到這個新創建的catalina.out(創建後大小始終爲0字節),這使我的cron作業無用。

基本上,我需要一個縮小文件的解決方案,但允許運行的tomcat實例繼續寫入。有任何想法嗎?謝謝!

回答

0

我只是用:

for f in $(find /tomcat_home*/. -name catalina.out -size +1000M); do 
    echo "" >$f 
done 

的>發送的方式實現,其中它覆蓋的所有內容(經文>>其附加)輸出。在這種情況下,你永遠不會刪除文件,所以你應該很好。

+0

工作!截斷和tomcat仍在寫入它。謝謝! –