在日志记录过程运行时清除日志文件

时间:2018-10-17 08:06:47

标签: linux shell logging

假设在清除日志文件之前,文件大小为 1.5M xxx.log 。 我正在使用 sudo cp / dev / null xxx.log 命令清除日志文件。 运行脚本后,文件大小更改为“ 0”。 但是,如果我采取措施,日志大小会增加到 1.5 xxx.log ,其中会包含很多空白

在谷歌搜索时,需要先停止编写过程! 但是我不想停止写作过程,是否还有其他方法。

1 个答案:

答案 0 :(得分:-1)

当日志大小增加时,逻辑大小会增加。它创建一个稀疏文件。您可以使用ls -ls xxx.logdu xxx.log进行检查。磁盘上的文件未使用1.5MB。

(由于否定反馈而被编辑)

我试图解释的是,当您cp /dev/null xxx.log时,您将文件截断了。但是该应用程序将继续在其上进行写入,但是处于其当前位置。因此,您创建了一个稀疏文件,从文件开头到应用程序的最后一次写入,它都是空的。

ls -lh将打印我称为logical size的内容,但是du -hs将仅打印真正分配的的块数。