weblogic重定向后日志备份

来源:互联网 发布:java 二进制流上传 编辑:程序博客网 时间:2024/05/17 01:25

前阵子发现weblogic的日志很大,没有按日期进行备份,想着怎么把日志按天备份一下。

那位说了,weblogic本身就提供日志备份功能,是参数没设好吧。 这是因为在启动脚本中把日志重定向了,它就不自动备份了。

nohup ./startWebLogic.sh >a.log &

好,二话不说,把日志移走,再新创建一个:

mv a.log a.log.`date "+%Y%m%d`
>a.log

再查看,发现日志照样写入了重命名后的文件 a.log.20160102 ,而不是新创建的a.log。跑到度娘搜一下,发现不能这样简单粗暴操作,原因是mv只是改变了文件的名称或存储位置,不改变文件的inode节点编号,而weblogic等应用程序是根据文件的inode节点编号来操作日志文件的,所以mv对它没影响。要深入研究这个东西,可以点这个链接去看看: http://baidutech.blog.51cto.com/4114344/743731/
话说回来,不能用mv,难道用copy  ?  似乎理论是可以的。

#拷贝
cp a.log a.log.`date "+%Y%m%d`
#清空
> a.log

直接写个脚本,定时运行就可以了。这里拷贝到清空两个操作之间会有一小段时间的日志丢失,但对网站来说,还是可以接受的。

可是,实际上的结果是,a.log 清空后很快就恢复原样了,也就是说数据根本就无法清空。  真是百思不得其解。 


又百度了一下日志转储,找到logrotate工具,里面有个copytruncate参数,类似于先copy,再清空。试了,还是没啥用。


谁能告诉如何解决呢?





0 0
原创粉丝点击