第一阶段:迁移前的“灵魂打包”
在新旧服务器交替时,你只需要从旧服务器带走这三个文件夹/文件:
/root/scripts/monitor/:这是机器人的心脏,包含所有.py和.sh脚本。/usr/local/nginx/conf/vhost/:带走其中的rss.conf(主配置)和blacklist.conf(黑名单本子)。- Docker 配置文件:带走你的
docker-compose.yml(包含 RSSHub 和 Vaultwarden 的定义)。
第二阶段:新服务器环境初始化
1. 在新服务器上,你需要先完成以下基础安装:
安装 Docker & Compose:
curl -fsSL https://get.docker.com | bash
2. 安装 Python 依赖:
pip install pyTelegramBotAPI
3. 安装 Rclone(如果你之前配置了网盘备份):按之前的步骤完成 rclone config。
第三阶段:复活“指挥中心” (Telegram Bot)
1. 放置文件
将备份的 monitor 文件夹整体上传到新服务器的 /root/scripts/ 目录下。
2. 权限加持
确保所有脚本都有执行权限:
chmod +x /root/scripts/monitor/*.sh
3. 路径自检
打开 /root/scripts/monitor/admin_bot.py,确认以下变量是否正确:
TOKEN:你的机器人 Token。ADMIN_ID:你的 Telegram ID。NGINX_CONF:指向新环境的/usr/local/nginx/conf/vhost/blacklist.conf。
4. 启动机器人
mkdir -p /root/scripts/monitor/logs
nohup python3 /root/scripts/monitor/admin_bot.py > /root/scripts/monitor/logs/bot_log.txt 2>&1 &
第四阶段:复活 Nginx 拦截体系
1. 恢复黑名单:将备份的 blacklist.conf 放到新服务器对应位置。
2. 恢复站点配置:将 rss.conf 放入 vhost 目录,并确保其中包含 include /.../blacklist.conf;。
3. 重载 Nginx:
nginx -t && nginx -s reload
第五阶段:复活 Vaultwarden 备份
由于使用了 docker-compose.yml,恢复非常简单:
1. 将 docker-compose.yml 放到新服务器。
2. 关键环境变量:确保 PING_URL_WHEN_SUCCESS 和 CURL_OPTIONS 里的 Token 和 ChatID 依然有效。
3. 启动:
docker-compose up -d
4. 测试:运行以下命令手动触发一次备份,看机器人响不响:
docker exec vaultwarden-backup-1 bash /app/backup.sh
第六阶段:最后的自动化
输入 crontab -e,把之前那两行“护法”指令写进去:
# 1. 每一分钟检查一次是否有高频攻击
* * * * * /bin/bash /root/scripts/monitor/rss_watchdog.sh
# 2. 如果你还想要早上的定时简报(可选)
00 07 * * * /bin/bash /root/scripts/monitor/send_report.sh
💡 避坑总结
- 权限问题:迁移后如果机器人提示“执行脚本失败”,通常是忘了
chmod +x。 - 路径问题:如果
/list为空,检查admin_bot.py里的NGINX_CONF路径是否写对了。

Comments NOTHING