Linux文件删除原理及案例分析

谨记: 大多数服务在运行时,是不能删除对应的服务正在写入的日志文件,会带来意料之外的结果!!!

    Linux是通过link的数量来控制文件删除的,link包括被调用的数量硬链接数量。     真正的删除一个文件,只有在文件未被进程调用的情况下,删除该文件的所有硬链接数即可。     如果在进程调用时,通过rm命令删除一个文件,是无法彻底删除的,该文件依然存在,只不过通过ls命令无法看到而已!

案例: 删除进程正在调用的/var/log/secure文件

[root@t-c6 ~]# ls /var/log/secure
/var/log/secure
[root@t-c6 ~]# \rm -rf  /var/log/secure
[root@t-c6 ~]# ls /var/log/secure
ls: 无法访问/var/log/secure: 没有那个文件或目录

    通过命令lsof可以看到,该文件并未彻底删除,因为系统进程正在写入数据到该文件中,进程调用数不为零导致的!

[root@t-c6 ~]# lsof | grep deleted
rsyslogd    917   root    2w      REG              252,1  5573745      41014 /var/log/secure (deleted)

如何解决该问题?

    重启对应的服务

[root@t-c6 ~]# /etc/init.d/rsyslog restart
关闭系统日志记录器:                                       [确定]
启动系统日志记录器:                                       [确定]

    将来有一天发现磁盘block满了,通过du -sh /* | grep G,并未发现太大的文件,可能是删除了不该删除的文件,导致文件大小一直增长,导致block满了,可通过 # lsof | grep deleted 查看 

只有进程调用数为0并且硬链接数为0,该文件才能彻底删除! 

注:我使用的系统为CentOS release 6.9 (Final)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏喵了个咪的博客空间

[喵咪BELK实战(2)] elasticsearch+kibana搭建

[喵咪BELK实战(2)] elasticsearch+kibana搭建 ? 前言 上一节我们介绍了日志系统和BELK之后就要到激动人心的安装环境了,实践出真知...

38370
来自专栏北京马哥教育

CentOS系统启动流程你懂否

一、Linux内核的组成 相关概念: Linux系统的组成部分:内核+根文件系统 内核:进程管理、内存管理、网络协议栈、文件系统、驱动程序。 ...

39250
来自专栏云计算教程系列

如何在Ubuntu 16.04上安装Apache Tomcat 8

Apache Tomcat是一个Web服务器和servlet容器,用于为Java应用程序提供服务。Tomcat是Apache Software Foundati...

38820
来自专栏醉生梦死

Linux系统开机启动流程(简述)

    /etc/grub.conf文件为链接文件,系统读取内存中的grub配置信息,并依照此配置信息启动不同的操作系统

64820
来自专栏北京马哥教育

巧用HTTP 响应头部提高 Web 安全性

在 Web 服务器做出响应时,为了提高安全性,在 HTTP 响应头中可以使用的各种响应头字段。 1、X-Frame-Options 该响应头中用于控制是否在浏览...

35570
来自专栏子勰随笔

Linux & MacOS中一些常用命令备忘

19760
来自专栏云计算教程系列

如何在CentOS 7上使用Postgres,Nginx和Gunicorn设置Django

Django是一个功能强大的Web框架,可以帮助您启动Python应用程序或网站。Django包含一个简化的开发服务器,用于在本地测试您的代码,但是对于任何与生...

20430
来自专栏北京马哥教育

CentOS系统启动流程你懂否

一、Linux内核的组成 相关概念: Linux系统的组成部分:内核+根文件系统 内核:进程管理、内存管理、网络协议栈、文件系统、驱动程序。 ...

39440
来自专栏伦少的博客

centos7 hadoop 单机模式安装配置

转载请务必注明原创地址为:http://dongkelun.com/2018/03/23/hadoopConf/

565110
来自专栏Java帮帮-微信公众号-技术文章全总结

Dubbo入门学习--Dubbo注册及监控中心(3)

Dubbo入门学习--Dubbo注册及监控中心 Dubbo提供广播、Zookeeper、Redis和Simple四种注册中心类型。 Multicast注册中心 ...

36730

扫码关注云+社区

领取腾讯云代金券