Centos磁盘空间占满的解决办法和/bin/rm: argument list too long 的处理方法

时间:2024-03-07 11:42:54

Centos磁盘空间占满的解决办法

1、第二块磁盘使用率达到97%

[root@feng020 ~]# df -l
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda1 20641404 10565932 9026948 54% /
tmpfs 4029028 0 4029028 0% /dev/shm
/dev/xvdb1 103210940 67011820 30956312 97% /hotdata
[root@feng020 ~]# df -l
既然确定了哪块磁盘占用率高,那就切换到这块磁盘检查一下这块磁盘的哪个文件夹占用高,再逐层去查找

du -h –max-depth=1


1
可以看出是kehu这个文件夹占用了72G。现在需要优化的就是这个文件夹了

[root@feng020 ~]# cd /hotdata
[root@feng020 hotdata]# du -h –max-depth=1
140K ./temp
12M ./memcached
16K ./run
72G ./kehu
415M ./soft
87M ./systemlog
20K ./lost+found
11G ./database
163M ./interface
91G .
查找出kehu这个文件夹下的文件占用情况

从下方结果可以看到哪些文件夹比较大,分析后是程序运行的日志文件,长期未处理,导致磁盘占满。所以找到这些文件夹下的日志目录,删除即可

/bin/rm: argument list too long 的处理方法

2、想删除一个cache目录,谁知道输入

rm *


的命令后,大概几秒后屏幕就跳出

/bin/rm: argument list too long

条件反射动作,上百度和google查找,找到解决方法和原因,原因是一个文件夹下文件太多,使用rm删除就会出现/bin/rm: Argument list too long错误.


按网址上面写的输入

ls | xargs -n 10 rm -fr ls


就解决了,这句解释为:输出所有的文件名(用空格分割) xargs就是将ls的输出,每10个为一组(以空格为分隔符),作为rm -rf的参数也就是说将所有文件名10个为一组,由rm -rf删除,这样就不会超过命令行的长度了.