4e1347ba45
升级/定时备份通过 docker exec 1Panel MySQL 容器 dump,不再依赖宿主机 mysqldump;nx 菜单新增巡检与备份 crontab 安装。 Co-authored-by: Cursor <cursoragent@cursor.com>
1.4 KiB
1.4 KiB
nx 上帝菜单巡检第四轮 — Docker MySQL 备份 + 运维 cron
| 项 | 内容 |
|---|---|
| 日期 | 2026-06-06 |
| 动机 | 升级时 backup_mysql 因宿主机无 mysqldump 且 URL host 为 1Panel 容器名而静默跳过;db_backup.sh 仍读 Supervisor 时代 .env |
变更摘要
- mysql_dump_to_file.sh(新):统一 mysqldump 策略 —
docker execMySQL 容器 → 宿主机客户端 →docker runon1panel-network。 - backup_mysql:改调共享脚本,不再要求宿主机预装
mysqldump。 - db_backup.sh:Docker 生产路径,从 Nexus 容器/volume 解析
NEXUS_DATABASE_URL,默认/var/backups/nexus。 - install_ops_cron.sh(新):幂等写入
health_monitor(每分钟)与db_backup(每日 03:00)crontab。 - nx:菜单
[e]/ 子命令nx cron安装上述 cron。
涉及文件
deploy/mysql_dump_to_file.shdeploy/install_ops_cron.shdeploy/db_backup.shdeploy/nexus-1panel.shdeploy/nx
迁移 / 重启
- 无需 DB 迁移;仅需
git pull更新 host 脚本。 - 可选:
sudo nx cron或菜单[e]安装 crontab。
验证
bash -n deploy/mysql_dump_to_file.sh deploy/install_ops_cron.sh deploy/db_backup.sh
sudo bash deploy/mysql_dump_to_file.sh --output /tmp/nexus-test.sql --root /opt/nexus
ls -lh /var/backups/nexus/
sudo nx cron && crontab -l | grep nexus