突然发现服务器磁盘占比到了80%了,其实也没存储啥,附件图片都在cos上,那就奇怪了,一步步排查看看吧
使用以下命令查看各目录占比情况,一步步排查大文件
du -h --max-depth=1
小水管机,太难了,一查询文件,内存就爆红了,哎

建议避免全盘扫描,最好带上目录,类似下面这种
du -h --max-depth=1 /var/log
先排查日志
宝塔中自带有日志工具,可以直接使用,扫描成功后会显示日志占比,我的只有100M的样子,所以肯定不是这个问题,继续往下走
docker镜像及容器
我之前使用过docker,看了下 /var/lib/docker/overlay2 占用了接近4G,其实我只用了一个镜像,也才200M,所以也需要清除
# 清理未使用的镜像
docker image prune -a
# 清理未使用的容器
docker container prune
# 清理未使用的数据卷
docker volume prune
# 一次性清理所有未使用的资源
docker system prune -a
# 查看Docker磁盘使用情况
docker system df
清理完毕后,发现内存 +4G
,继续往下走。
清理了定时备份
数据备份很重要,重要数据库我都是1天备份一次,网站一周备份一次,当然只保留了3份,所以占比也不是太大,不过我还是选择清理了一些,内存 +1G
。
定时清除日志脚本
每次手动清除日志太麻烦了,弄个脚本自动清除吧。宝塔中计划任务添加自定义脚本,然后设置清除时间即可
#!/bin/bash
# 定义日志目录
LOG_DIR="/var/log/myapp"
# 清除日志文件
find "$LOG_DIR" -type f -name "*.log" -mtime +30 -exec rm {} \;
# 或者清空日志文件而不删除
# find "$LOG_DIR" -type f -name "*.log" -exec truncate -s 0 {} \;
我这一套下来,大概省了10G左右。
全部评论 44