解决linux 环境下日志文件分割(清空)后大小无法改变问题

为了不影响部署在linux服务器上的应用系统正常运行,一般情况下都需要将系统运行日志进行分割,但是很多方法都是遵循:"  添加定时任务  先复制压缩  再清空原日志文件" 的思路,压缩一般都是没问题,但是在清空原日志文件时会遇到执行清空命令后原日志文件大小仍不改变:

例如:

采用  echo "" > nohup.out

采用  cat /dev/null > nohup.out

采用  cp /dev/null  nohup.out

采用  logrotate 工具等方法 将nohup方式运行重定向输出日志文件分割后

通过  ll 查看日志文件大小 日志文件大小并未变小仍是分割前的大小

通过 du -sh 查看会发现日志文件变小了

这种现象的原因是由于在 nohup 重定向输出启动时 采用了  ">" 清空重定向的方式 而不是  ">>"追加重定向的方式

通过修改启动文件的nohup重定向输出方式为  追加nohup   ./startWeblogic.sh >> nohup.out  2>&1  &

echo "" > nohup.out 

这样之后 nohup.out的大小就会改变,从0开始增长了也达到了分割日志的目的

 

posted on 2018-05-21 19:53  JuGooLar  阅读(1843)  评论(1编辑  收藏  举报

导航