我正在通过作为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实例显然无法登录到这个新创建的catalina.out (创建后大小总是为0字节),这使我的cron作业有点无用。
基本上,我需要一个缩小文件的解决方案,但是允许运行中的tomcat实例继续写入它。有什么想法吗?谢谢!
发布于 2017-03-17 17:37:30
我只想用:
for f in $(find /tomcat_home*/. -name catalina.out -size +1000M); do
echo "" >$f
done>以覆盖所有内容(附加的>>节)的方式发送输出。在这种情况下,您永远不会删除该文件,所以您应该做得很好。
https://stackoverflow.com/questions/42862997
复制相似问题