在查看服务器的磁盘使用情况时,使用df -h 查看,发现/dev/vda1 中Use%已经达到百分之80%;
但是使用du -h --max-depth=1 查看/目录下文件大小时,却发现使用情况远远不到80%那么多(忘记截图);
查找资料才发现,df与du查询的结果会有这种差异,是因为df会统计已删除但却仍有进程引用的文件。详细查看:https://www.linuxidc.com/Linux/2018-03/151600.htm
所以可以使用lsof | grep deleted 查看当前已删除但是仍被进程引用的文件;
所以在我的服务器上面,jenkins日志文件占用了大量的磁盘空间,即使删除了使用df统计磁盘大小时还是会将已被删除的文件统计到已使用空间中;
所以解决方法就是将进程关闭并重新开启。释放被“占用的”空间。
为了不在一直被这个问题困扰,决定写个定时清理任务。
使用crontab -e 进入vi编辑界面,然后添加一行
* * */15 * * /var/log/jenkins/auto-del-jenkins-log.sh //auto-del-jenkins-log.sh为删除日志重启jenkins执行脚本;
让他每隔15天执行一次;