做西安网站开发的同行大概都遇到过这样的场景:早上刚到公司,客户电话就来了——「网站打不开了!」登上服务器一看,磁盘使用率 100%。数据库写不进去、日志写不进去、Session 存不下,网站自然就趴了。别慌,陕西星环深索的技术小伙伴今天就把这套「磁盘爆满急救手册」分享给你,照着做,十分钟内基本能止血。
第一步:先搞清楚是谁把磁盘吃光了
别上来就乱删,先定位。两条命令足够:
df -h:看每个分区还剩多少,确认是哪个挂载点爆了;du -sh /*再逐层往下du -sh /var/*,像剥洋葱一样找到那个「大胃王」目录。
想更快一点,直接上 find / -type f -size +500M,把超过 500M 的大文件揪出来,往往一击命中。
第二步:常见「元凶」逐个击破
在我们给客户做西安网站开发与运维的过程中,磁盘爆满的原因翻来覆去就那么几个:
- 日志文件疯长:Nginx、Tomcat、应用日志没做切割,一年下来几个 G 很常见。用 logrotate 配置按天切割、保留 7~15 天,或者用
truncate -s 0 xxx.log清空,注意不要直接 rm 正在被进程占用的日志,否则空间不会立刻释放。 - 被删除却仍被占用的文件:
lsof | grep deleted一查便知,重启对应服务即可回收空间。 - 数据库 binlog 和备份:MySQL 的 binlog 记得设置过期时间
expire_logs_days,备份文件建议直接丢到对象存储,别全堆在服务器上。 - 上传目录和缓存:用户上传的图片、视频、临时缓存文件,建议按日期分目录,并配合定时任务清理过期数据。
- Docker 镜像和容器日志:
docker system prune -a是救火神器,但记得先确认没有要保留的镜像。
第三步:治标之后要治本
清理只是急救,真正的功夫在日常。我们在做西安软件开发项目交付时,都会顺手把这几件事配上:
- 磁盘水位监控告警,超过 80% 就自动发通知,别等 100% 才被动救火;
- 日志统一收集到日志平台,本地只留少量滚动文件;
- 图片、视频、附件走对象存储 + CDN,服务器只存业务数据;
- 定期巡检脚本,把大文件、僵尸文件、无用备份自动清理掉。
说白了,磁盘管理跟家里收纳一个道理:东西不是不能多,而是要有地方放、有习惯扔。
写在最后
服务器稳定是网站的底裤,平时看不见,一旦出事就是大事。如果你正在做西安网站开发、西安小程序开发,或者想给自己的业务搭一套 AI 智能体开发方案,却总被运维小事绊住脚,欢迎找陕西星环深索聊聊。我们有专门的运维巡检与技术保障团队,让你的服务器少掉链子,让老板少接几个「网站又打不开了」的电话。