博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 动态清空文件后 程序再向这个文件写内容时 文件大小不变 并文件开头多了很多^@符号...
阅读量:7119 次
发布时间:2019-06-28

本文共 523 字,大约阅读时间需要 1 分钟。

hot3.png

发现问题的过程是这样的:

在后台运行的程序内是用node写的一个定时器,用于每15min向*.log文件中写入日志内容。命令大概是:

node *.js > *.log &

并且,这个log文件是一天一清空的,也就是说log文件内的内容只保存前一天的。

ok,为了达到这个效果,我就在任务计划文件/etc/crontab中,加上这样一条定时命令:

30 9 * * * root cp /dev/null *.log

这里的意思是,每天9点,用/dev/null文件“空”的特性清除log文件。

结果,在当天晚上发现,log文件前面出现了很多^,并且之前清空的log文件大小比被清空前还大。

经过各种搜索案例后,发现问题出在“>”与“>>”上面,“>”的意思是将程序输出的内容覆盖log文件原有的内容,“>>”的意思是将程序输出的内容追加到log文件中。

也就是说,将上面第一条命令中的“>”修改为“>>”就可以用cp /dev/null *.js或者 echo "" > *.js等方式清空日志文件了。

node *.js >> *.log &

 

转载于:https://my.oschina.net/u/3714085/blog/1572771

你可能感兴趣的文章
linux实用的日志分析脚本
查看>>
手机号码归属地查询
查看>>
我的2015plan
查看>>
SVN Error: “' 'x' isn't in the same repository as 'y' ” during merge (并不在同一个版本库中)...
查看>>
HDU3123:GCC(同余模简单题)
查看>>
Visual Studio Developer Assistant 3月新功能展示
查看>>
SimpleDateFormat使用具体解释
查看>>
微信公众号发起微信支付 c#
查看>>
Qt widgets deeps--烧鸡
查看>>
Android StrictMode介绍
查看>>
JAVA Metrics 度量工具使用介绍1
查看>>
Spring mvc 返回json格式 - 龙企阁 - 博客频道 - CSDN.NET
查看>>
Android 数据库升级解决方案
查看>>
nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
查看>>
IIS启用.net2.0
查看>>
ocp认证考试指南第一章
查看>>
归并排序算法
查看>>
RMAN冷备份异机还原
查看>>
Atlas系列一:Atlas功能特点FAQ
查看>>
Android开机动画启动流程
查看>>