当我们的服务器 比如 centos 出现硬盘存储满了,空闲空间不足以给其他应用提供存储需要的空间的时候。比较常见的异常就是 终端命令行空间,自动补全功能失效,报临时空间不足
或者数据库空间不足,导致写数据异常等等的问题。
排查思路
1. 查看当前磁盘占用情况
1 | df -hl |
2. 根据第一步确定,哪些文件占用百分比比较高
1 | du -h -x --max-depth=1 |
3. 进入对应目录
1 | # 查看当前目录所占空间 |
4. 找出真正占空间的文件,然后决定是迁移还是删除
删除文件请看 目录6
注意:
有时候 发现有些日志文件,已经执行 rm 删除了。 通过 du
命令查看也已经没有占空间了,但是。
df -hl
查看,还是没有释放,这个问题一般不常见,但是如果碰见了,就比较麻烦。
1 | 在 Linux 或者 Unix 系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink).然而如果文件是被 |
解决方法
1 | lsof |grep deleted |
找出已经删除了,但删除时有进程正在使用的文件,这里的文件会比较多,需要耐心,找出然后 kill 掉进程,或者重启服务。
5. 批量删除文件
查看共有多少此类文件
1 | # 查找 info-log. 开头的文件个数 |
删除 查询出来的文件
1 | find . -name 'info-log.*' | xargs rm -r |
直接删除对应目录以及子目录
1 | //慎用 |
批量删除目录模糊(批量删除以7开头命名的文件夹)
1 | sudo rm -rf 7* |
查找特定日期之前的图片并删除
1 | find . -name "*.gz" -ctime +39 -exec rm -r {} \; |
查询当前目录下,,365天之前创建的 jpg结尾的文件,并删除
1 | find . -name "*.jpg" -ctime +365 -exec rm -r {} \; |
本文作者:
ionluo
本文链接: http://www.ionluo.cn/blog/posts/c8984d0c.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: http://www.ionluo.cn/blog/posts/c8984d0c.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!