如果某个程序出现了bug或者没有设置好,容易出现空间被大量占用的情况。
或者长期无价值的日志记录,需要手动去找到问题,方法是通过排查占用超出常理的文件夹
以下为本人经历的真实案例,某一天发现一台服务器的/var目录用了100G,这台服务器用的很少,按理说不会占用这么大空间
1.检查/var目录占用情况
显示/var目录下一级目录的具体空间占用情况
cd /var && du -h --max-depth=1
发现目录占用94g,log占用91g。
2.进入/var/log目录并继续排查
cd /var/log && du -h --max-depth=1
发现一个目录占用87G
这个程序是负责文件同步的,进入目录后发现是日志记录了87g,说明设置有问题,导致一直记录却没有删除
3.排查解决
简单的删除大文件不能根治问题,需要查询为什么会占用这么大,直接打开不现实(87个G,你打开试试),查看最后的500行文本吧,xxx为文件名
cat xxx | tail -n 500
虽然也要几分钟,但是总比打开快得多。
发现我的这个同步程序大量报错原因如下:
1)文件目录没有访问权限
2)有一个对应的服务挂了,导致一直连接不上
解决方案
如果没有访问权限,目录授权或跳开这个目录
修改日志记录规则,部分报错不记录(如果有的话)
修复挂掉的服务,同时设立监控系统,服务挂掉后自动恢复或警告