清空日志四种方法

编程入门 行业动态 更新时间:2024-10-10 23:21:25

清空日志<a href=https://www.elefans.com/category/jswz/34/1769239.html style=四种方法"/>

清空日志四种方法

清空日志四种方法

进程任然存(有程序一直在读写log文件)在没被杀死或者没有停止的时候。如果删除了日志文件(日志文件可能是实时读写的),那么磁盘的空间不会被释放。

有时候如果贸然删除了日志文件,可能正在跑的服务日志就没地方写,但是该服务如果一直打开了该文件,那么写的时候,服务只认文件描述符,虽然你把文件删除了,但是之前建立的 文件描述符一直存在,该服务还可以一直在该文件描述符的位置上写log,即便是你删除后,重新创建一个同样命名的文件,该服务也不会将log写到重新创建的文件中,还是因为文件描述符已经存在了,重新创建文件后,不是原来的文件描述符。

这样导致的问题是,服务一直写log,硬盘空间一直往上升,你却找不到大文件在哪里,长时间运行,导致硬盘空间被占满。

所以最好的方法就是清空文件,保留原文件,只能将原文件的内容清空。

可以在命令行输入以下指令手动清空:

1、>/logs/file.log

2、cat /dev/null >/logs/file.log

3、echo  "">/logs/file.log

脚本中常用清空日志方法:

用冒号

4、:>/logs/file.log

 

注意:

在执行指令的时候,虽然有时候文件确实被清空了,但是使用 ll 或者 ls 指令查看的时候,文件的大小并没有变化,但是在指令输入前后如果使用df -h指令查看log文件所在盘符的大小,发小log文件所在盘符的空间确实被释放了。

或者在log所在文件夹使用du -sh *指令,查看,也会发现log文件的大小变了。

之所以使用 ll 或者ls 指令查看时,文件大小没有变化,可能是该文件一直被进程占用,ll 或者ls查看的逻辑有一些不同吧。

 

转载于:

 

 

 

 

 

 

 

更多推荐

清空日志四种方法

本文发布于:2024-03-04 07:25:54,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1708618.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:四种   清空   方法   日志

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!