!["> $logfile" 不会截断,文件大小变为 0,一秒钟后又恢复为完整大小](https://linux22.com/image/204692/%22%3E%20%24logfile%22%20%E4%B8%8D%E4%BC%9A%E6%88%AA%E6%96%AD%EF%BC%8C%E6%96%87%E4%BB%B6%E5%A4%A7%E5%B0%8F%E5%8F%98%E4%B8%BA%200%EF%BC%8C%E4%B8%80%E7%A7%92%E9%92%9F%E5%90%8E%E5%8F%88%E6%81%A2%E5%A4%8D%E4%B8%BA%E5%AE%8C%E6%95%B4%E5%A4%A7%E5%B0%8F%20.png)
我有一个写入日志文件的脚本,如下所示:
$ nohup myscript.sh > myscript.out 2>&1 &
当日志文件变得非常大时,我需要像这样截断它:
> myscript.out
我看到尺寸短暂变为 0,但立即又跳回到完整尺寸。
$ ls -ald myscript.out
-rw-rw-r-- 1 vmware vmware 14285855 Apr 11 04:33 myscript.out
$ > myscript.out
$ ls -ald myscript.out
-rw-rw-r-- 1 vmware vmware 0 Apr 11 04:33 myscript.out
$ ls -ald myscript.out
-rw-rw-r-- 1 vmware vmware 14298778 Apr 11 04:33 myscript.out
我怎样才能截断它,使大小变为零并从零开始再次增长?
我尝试了许多其他替代方案,但没有任何效果。同样的事情,大小变为 0,然后返回到完整大小。
true > myscript.out
: > myscript.out
echo -n > myscript.out
cp /dev/null myscript.out
truncate -s 0 myscript.out
dd if=/dev/null of=myscript.out