宝塔面板优雅下线:先 stop 再 disable 再 rm

背景 服务器上有个宝塔面板,跑着 BT-Panel 和 BT-Task 两个进程,占了 683M 磁盘。

但根本没用------服务器上跑的 Docker + Nginx 都是单独装的,宝塔只是个历史遗留的空壳。

想卸载,但担心:万一有隐藏依赖呢?删了服务会不会挂?

原因 卸载软件的正确姿势:先停,观察,再删。

很多人一上来就 rm -rf,结果发现某个服务依赖它,或者某个定时任务还在调它------服务直接挂。

优雅下线的三阶段:

阶段 动作 目的
1 stop + disable 停服务,禁自启,但文件不动
2 观察 1-2 天 确认没有隐藏依赖
3 rm -rf 彻底删除文件
这样出问题能立刻恢复------systemctl start 一下就回来。
解决
第一步:确认宝塔真的可以停
检查 1:系统服务是不是宝塔装的?
bash 复制代码
which nginx
dpkg -S /usr/sbin/nginx

预期输出:

bash 复制代码
/usr/sbin/nginx
nginx: /usr/sbin/nginx

看到 nginx: /usr/sbin/nginx = apt 装的,跟宝塔无关。

如果输出是 dpkg: no path found → 说明是宝塔编译的,别动。

检查 2:宝塔目录下有哪些服务?

bash 复制代码
ls /www/server/

预期:只有 panel、cron 这类面板自身目录。

如果出现 nginx、mysql、php → 说明宝塔装了实际服务,别卸。 第二步:停服务(可逆)

bash 复制代码
sudo systemctl stop bt
sudo systemctl disable bt
sudo pkill -f "BT-Panel|BT-Task"

# 验证:应该无输出
sudo ps -ef | grep -i "BT-Panel|BT-Task" | grep -v grep

预期:ps 命令无任何输出------进程都停了。

第三步:清理宝塔的定时任务 宝塔会往 root crontab 里塞任务:

bash 复制代码
sudo crontab -l

找这行:

javascript 复制代码
51 12 * * * /www/server/cron/xxx >> /www/server/cron/xxx.log 2>&1

删掉它(保留腾讯云探针那行,不要误删):

bash 复制代码
sudo crontab -l | grep -v "/www/server/cron" | sudo crontab -
sudo crontab -l    # 验证宝塔那行没了

为什么要删:宝塔服务已停,这个 cron 跑的时候会报错------每天往日志里写一行失败记录。

第四步:观察 2 天 先别删文件,让服务器跑 2 天。

观察什么:

bash 复制代码
# 1. Nginx 还正常吗
systemctl is-active nginx
curl -sI http://127.0.0.1:8081 | head -1

# 2. 所有容器还在跑吗
docker ps --format "table {{.Names}}\t{{.Status}}"

# 3. 系统日志有没有奇怪报错
sudo journalctl -u bt --since "2 days ago" 2>/dev/null | tail

都正常 → 进第五步。 第五步:删除文件

bash 复制代码
sudo rm -rf /www/server
sudo rm -f /etc/init.d/bt /usr/bin/bt
sudo systemctl daemon-reload

# 验证
sudo du -sh /www 2>/dev/null || echo "✅ /www 已清理"
df -h /

预期:/www 不存在,磁盘多出 683M。 三个坑 坑 1:一上来就 rm -rf /www/server

万一有隐藏依赖(比如某个服务配置了 /www/server/nginx/conf),删了直接挂。必须先 stop + disable,观察 2 天。

坑 2:忘了清理 crontab

宝塔停止后,它的 cron 任务还在跑,每天报错。一定要清掉:

三个坑 坑 1:一上来就 rm -rf /www/server

万一有隐藏依赖(比如某个服务配置了 /www/server/nginx/conf),删了直接挂。必须先 stop + disable,观察 2 天。

坑 2:忘了清理 crontab

宝塔停止后,它的 cron 任务还在跑,每天报错。一定要清掉:

bash 复制代码
sudo crontab -l | grep -v "/www/server/cron" | sudo crontab -

坑 3:systemctl disable bt 报错

报错 bt.service is not a native service, redirecting to systemd-sysv-install 是正常的------宝塔用的是老式 SysV 启动脚本,systemd 自动帮忙转译了。

验证是否真的禁用了:

bash 复制代码
systemctl is-enabled bt
# 输出 disabled 就对了
相关推荐
闭包不眠2 小时前
PDF文字提取交付前该检查什么
运维·服务器·图像处理·人工智能·计算机视觉·pdf
吴声子夜歌2 小时前
Nginx应用与运维——Nginx在Kubernetes中的应用(一)
运维·nginx·kubernetes
guo_wen_qiang2 小时前
云服务器sentinel搭建-控制台
服务器·sentinel
苏三的开发日记2 小时前
百度网盘p2p加速文件存储位置修改记录
运维
LabVIEW开发3 小时前
Anritsu 2602A:频谱仪的几种测量怎么自动跑
运维·服务器·labview·labview知识·labview功能·labview程序
2401_868534783 小时前
存储系统规划设计
运维·服务器·智能路由器
Ivanqhz3 小时前
KV Cache
服务器·数据库·人工智能·深度学习·算法
螺蛳粉 螺蛳粉3 小时前
第一篇:Keepalived 高可用实战:VIP 漂移与 Nginx 主备切换完整指南
运维·nginx·负载均衡·keepalived·高可用
荣合技术服务3 小时前
VMware ESXi 虚拟化平台服务器虚拟机数据恢复服务
linux·运维·服务器