错误方法:

rm -f logfile

原因:
应用已经打开文件句柄,直接删除会造成:

  1. 应用无法正确释放日志文件和写入
  2. 显示磁盘空间未释放,最后磁盘空间占用100%

正确方法:
4. 第一种:cat /dev/null > filename
5. 第二种:: > filename
6. 第三种:> filename
7. 第四种:echo “” > filename
8. 第五种:echo > filename

rm -f 之后解决办法:

  1. 找到删除文件所在的分区,查看当前系统句柄未释放情况
    lsof -n /opt | grep deleted

    lsof | grep deleted
    输出里面有进程号

  2. kill 进程号

  3. 运行

    bash lsof -n /opt | grep delete
    查看是否还存在删除了但未释放空间的文件,应该没了。

  4. 再次运行df -lh查看空间是否已经释放了。
    .
    还有一种解决方式:(假设文件名为a.log)

  5. 清空文件内容
    > a.log

  6. 删除该文件

    rm -rf a.log


参考:
linux 如何删除log文件,教你在Linux下如何清除系统日志
Linux清空日志的五种方法
rm删除文件后磁盘仍然占用

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐