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删除,这样就不会超过命令行的长度了.