Java教程

java分割后台日志

本文主要是介绍java分割后台日志,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.遇到的问题
在应用服务器以nohup的方式启动应用时指定了后台日志,日积月累,日志文件过大,导致服务器磁盘空间不足。命令如下:

nohup java -jar > /home/amquser/app/dev/text-persist-log.txt 2>&1 &
2.解决方法 
split切割输出的后台日志,脚本如下:

this_path=$(cd `dirname $0`;pwd)

cd $this_path
echo $this_path


# -b 后是切割日志的大小,默认单位是b,还可以是k, m, g,
# -d -a 4 表示文件以4位数字结尾,从0000开始
#/home/amquser/app/dev/text-persist-log.txt 需要切割的对象文件
#/home/amquser/log/text-log- 切割后文件的存储位置
split -b 50m -d -a 4 /home/amquser/app/dev/text-persist-log.txt /home/amquser/log/text-log-

#分割日志文件后清空原文件
cat /dev/null > /home/amquser/app/dev/text-persist-log.txt
执行结果:

1)分割后的新文件顺利生成

 

2) 分割后的原文件大小没变

分割后原文件大小虽然显示为0,但是当有新日志写入时,大小瞬间就会恢复到没有分割前的大小。

解决方法,改变日志输出时的追加方式:

nohup java -jar >> /home/amquser/app/dev/text-persist-log.txt 2>&1 &
3.注意事项 
1)分割好的新日志要及时处理,以免下次运行分割脚本后覆盖

这篇关于java分割后台日志的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!