Linux 在不重新启动tomcat的情况下截断catalina.out
我通过作为cron作业执行的bash脚本截断catalina.out文件。这是密码Linux 在不重新启动tomcat的情况下截断catalina.out,linux,bash,tomcat,cron,Linux,Bash,Tomcat,Cron,我通过作为cron作业执行的bash脚本截断catalina.out文件。这是密码 # 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实例
# 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实例继续写入。有什么想法吗?谢谢 我只想使用:
for f in $(find /tomcat_home*/. -name catalina.out -size +1000M); do
echo "" >$f
done
>以覆盖所有内容的方式发送输出(附加的第>>节)。在这种情况下,您永远不会删除该文件,因此您应该很好。这很有效!截断,tomcat仍在给它写信。谢谢