Linux服务器磁盘空间占满解决方法

解决服务器磁盘占满的思路:

查找磁盘磁盘沾满的原因,系统中的大文件遍历。若这些文件是系统运行中生成的已不用日志文件可以手动删掉这些文件,若不能删除那就只能扩充磁盘了,或者备份到其他磁盘。

解决过程

查看磁盘占用情况

cd /
df -h   #查看是哪个挂载目录满了,常常是根目录/占满

如上图所示显示多个挂载的占用情况

假设我们认为 /dev/xvdc1 磁盘占用率太高,要清理,进行以下操作

查看该文件夹下文件情况

sudo du -h --max-depth=1  /logs/  | sort -hr | head -10

命令说明:

du #计算出单个文件或者文件夹的磁盘空间占用.
--max-depth # 展示的目录深度
sort -hr # -r由大到小排序   -h 使用易读性数字(例如: 2K 1G)
head -10 # 显示前10条记录

如上图所示,可以看到 /logs/backuplogs 目录大小为113G,若想看继续看/logs/backuplogs 目录下那个文件占用较大空间,可以继续执行

sudo du -h --max-depth=1  /logs/backuplogs  | sort -hr | head -10

由此可一步步查看磁盘目录状态,最终确定是删除大文件还是扩充磁盘即可。

注意

对于项目中生成的日志文件最好用logrotated管理起来,防止占用太多磁盘空间
参考文章 Linux日志切割工具logrotate 配置

引用链接

[1] Linux日志切割工具logrotate 配置: //wangmaolin.net/article/kq1ez4qyrl.html