一分钟学会:妙用gzip在线切分日志文件
小寒灵:
有一个问题,如果原始Java程序日志输出就是重定向(也就是 java -jar a.jar > a.log)而不是追加写入(也就是 java -jar a.jar >> a.log),即使清空了原日志,后面新的日志也会从原来大小(行数)处写入,大小变化不大。
实际生产中建议使用追加写入日志文件,然后搞一个定时任务(crontab)定时tar.gz打包日志转移后清空callmeafool:
为什么不会丢日志呢,假如gzip执行一段时间,再&&清空,这样不会丢吗tovire:
能讲讲原理吗?俩个-c 是为啥。如果说&&之前能够保证所有的实时日志被导入到另外文件中可以理解,那&&之后的内容为啥能够确保没有未被保存的日志被清空?田园风车:
gzip 不接受两个 -c 选项, 应该是写错了吧, 但是结果确实对的? 应该将后面的 -c 删掉才对吧? 正确的应该是 gzip -c log.out > /tmp/java.out.gz && > log.outfirefoxmmx:
他们会产生新的fd吗,如果产生新的fd ,java程序持有的fd还是一切的即使文件被删除了,空间还在那里。新的文件虽然和旧文件的文件名相同,但是各是各的。至到进程停止释放了fd,空间才可以被回收。firefoxmmx:
这个有用,这个何logrorete使用的同一种方式吗芝士在学知识:
林哥视频质量就是高,这些小细节都讲解的很明白,头一次见到质量这么高的博主![打call]
【回复】回复 @芝士在学知识 :感谢老铁的一键三连!语荷之夏:
upup,问个问题,为什么&&后面的>java.out在有进程依然在打开的状态下还能清空文件内容?Moon_boy_114514:
手机就有一个超大的logcat服务的文件,几秒就读一次,手机耗电发热好几天,删了才解决boom快炸了:
请教下up主,Windows下类似的场景,有没有推荐的工具哇,谢谢buxianting:
业务不中断,要程序员还有什么用[doge]嘉然今天吃带变:
[吃瓜]可以解释一下这个命令么,感谢🙏