宝塔面板占用空间_解决方案附linux命令

🕵️♂️ 排查与操作详解
1️⃣ 优先排查:宝塔回收站
很多时候,通过面板删除的文件只是被移到了回收站,并没有真正释放空间。这是第一个需要检查的地方。
操作:登录宝塔面板 → 点击左侧菜单栏的 "文件" → 在顶部找到 "回收站" → 点击 "清空"。
2️⃣ 重点排查:被进程锁定的"幽灵文件"
这是最容易被忽略的情况。有些文件(如系统日志)虽然被rm命令删除了,但仍在被后台进程(如rsyslogd)持续写入,空间完全没有被释放,只是对用户"不可见"了。
操作:通过SSH登录服务器,执行以下命令,查看是否有已删除但未释放的文件:
bash
lsof | grep deleted
解决方法:如果发现有大文件,比如几GB的日志,记录下它对应的进程名和PID。通常重启该服务(例如 Nginx、PHP-FPM、MySQL)即可释放空间。例如,重启Nginx的命令是
service nginx restart。
3️⃣ 系统日志清理
系统的日志文件(特别是systemd的journal日志)可能会在长期运行后变得非常庞大。
方法一:限制大小(推荐,安全)
bash
# 限制journal日志总大小不超过300MBjournalctl --vacuum-size=300M
方法二:限制保留时间
bash
# 只保留最近一周的日志journalctl --vacuum-time=1w
4️⃣ 地毯式排查:找出"真凶"
如果以上方法都没解决,就需要用du命令一层层找大文件了。
从根目录开始,看哪个文件夹占用最大:
bash
du -sh /* | sort -rh | head -20
深入目录:比如发现
/www目录最大,就继续查:bash
du -sh /www/* | sort -rh | head -20
💡 效率工具:对于初学者,强烈推荐用
ncdu命令,它会以交互式菜单展示目录大小,用键盘方向键即可浏览,非常直观。
安装命令:apt-get install ncdu -y(Ubuntu/Debian) 或yum install ncdu -y(CentOS)。
运行:ncdu /
5️⃣ 进阶排查:宝塔面板数据库异常增大
极少数情况下,宝塔面板自己的SQLite数据库文件(default.db)会因为记录了大量访问数据而膨胀到十几GB。如果你用du命令排查时发现/www/server/panel/data/default.db这个文件巨大,可以参考网上的教程,使用SQLite工具执行VACUUM命令来整理并回收空间。操作前务必备份好这个文件!