CentOS 磁盘满的解决方案

今天,通过xftp向Centos系统的某个文件夹上传文件时,莫名其妙上传失败,提示的错误信息为Unknown error!

首先排除了权限问题,但是具体是什么问题呢?初步怀疑是磁盘满了。那么如果确定Centos磁盘空间是否足够?

下面进行详细介绍。

第1步:查看当前磁盘整体使用情况

执行如下命令:

df -hl

第2步:找到占用磁盘多的文件夹,继续查看

执行如下命令,确定具体哪些文件夹占用得多

du -h -x --max-depth=2 # 检查当前目录层级深度为2的空间占用情况

第3步:进入对应目录,进一步查看

执行如下命令,确定具体哪些文件夹占用得多

du -sh # 查看当前目录所占空间
du -h -x --max-depth=2 # 检查当前目录层级深度为2的空间占用情况

第4步:找出占用空间最大的文件进行处理

1)查看文件

find . -name 'do*.*' | wc -l  #查找 do 开头的文件个数

2)删除文件

find . -name 'do*.*' | xargs rm -r # 删除do 开头的文件
rm -rf dir # 直接删除目录名称为dir对应目录以及子目录
rm -rf a* # 批量删除以a开头命名的文件夹
find . -name "*.txt" -ctime +20 -exec rm -r {} \; # 查找特定日期之前的文件并删除,其中. 指代:当前目录,+20 指代:20 天之前。

注:有时候发现查看目录的空间也使用不大,但是磁盘占用率就是很高,怎么办呢?解决办法如下:

lsof | grep deleted #找查找已经删除但删除时有进程正在使用的文件

通过执行如下命令kill掉

kill pid #根据id杀掉进程

然后再查看此磁盘占用的空间

df -hl

如果占用空间还比较大,试着重启一下服务器后再执行上一步的命令。

reboot
举报
评论 0