阿里云Linux系统/dev/xvda1目录满清理方法

最近使用阿里云服务器  但没有多少文件 ,怎么20g 的空间就满了 ,在阿里云技术的支持下 自己百度找到方法 ,分享一下

首页要查看哪个文件夹占用了空间,使用这个命令

登陆 SSH,使用 df -h 查看使用率,mounted on 指的是挂载的目录

  1. cd /
  2. du -sh *
  3. rm -rf

其中cd是进入目录  和dos命令一样

Linux命令之cd命令详解

du -sh *是查看所有文件夹占用情况  

rm -rf 是删除文件夹命令

直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
通过du --max-depth=1 -h / 查找大文件,发现/var/lib很大,逐级查看,发现最近安装的jenkins下面有个日志文件很大

以上就解决我的问题了,下面是网上资料, 大家可以参考一下。


 

配置nginx之后,查看磁盘空间,通过df -lh查看发现系统空间满了。。。。。

/dev/xvda1       20G  20G  0G  100% /

然后,通过du --max-depth=1 -h / 查询对应的大文件,发现只占用了2.3G的空间

各种方法找,都找不到大文件,后来在一篇文章中看到,可能是在apache或者tomcat运行的时候删除了对应的日志文件导致的,突然想起来,前几天有一个小伙伴说空间满了,我让他删除了一下tomcat下面的日志,然后没有重启。。。。。。

产生问题的原因:

在apache/tomcat服务在运行状态下,清空了运行服务的日志,从而导致了/dev/xvda1 满了的问题。一般情况下,大多数服务(包括脚本)在运行时,是不能删除当前正在写入的日志文件的。

原理分析:

1. 当前access.log日志正在被apache进程占用。
2. 通过rm命令删除access.log,实际只删除了文件名(该日志文件应用记数不为0,因此空间不会被释放)。
3. 通过rm命令删除了access.log后,apache依然写日志到access.log中,当开启apache进程时,已经通过access.log定位到该文件的inode了,就是说再写日志是不通过access.log,因此即使删除了access.log,apache依然写日志到access.log所在的inode节点,所以导致硬盘空间增加。
4. 因为删除了access.log,所以我们就找不到该文件了,du也查不到,就会出现硬盘满了但看不到究竟是哪些文件占用的。
解决方法:

重启该日志文件的相关服务或程序,如:为apache日志文件则重启apache(如下图,重启后才硬盘空间占用正常)。

 

 

下载说明: 帮助教程
1.资源失效请联系QQ:1138166071补发;寻课加QQ联系
2.资源均为网络收集,仅供参考研究,请在下载后24小时内删除。不要商用和非法用途,否则后果自己承担。
3.默认解压密码:blog.qdql.net
4.购买本站资源即代表同意本站免责协议
5.提示:本站资源属虚拟商品,购买后恕不退款。
6.特别声明本站资源部分来源于网络,如有侵权,请联系站长进行删除处理!
本文地址:http://blog.qdql.net/3598/

发表评论


表情