Files
Nexus/docs/changelog/2026-06-06-nx-god-menu-audit-round4-mysql-backup-cron.md
T
Nexus Agent 49f159a8ce fix(deploy): install_ops_cron 自动安装 cron 包
生产 Azure 主机默认无 crontab,安装脚本现会 apt install cron 并启用服务。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 22:38:43 +08:00

1.5 KiB
Raw Blame History

nx 上帝菜单巡检第四轮 — Docker MySQL 备份 + 运维 cron

内容
日期 2026-06-06
动机 升级时 backup_mysql 因宿主机无 mysqldump 且 URL host 为 1Panel 容器名而静默跳过;db_backup.sh 仍读 Supervisor 时代 .env

变更摘要

  1. mysql_dump_to_file.sh(新):统一 mysqldump 策略 — docker exec MySQL 容器 → 宿主机客户端 → docker run on 1panel-network
  2. backup_mysql:改调共享脚本,不再要求宿主机预装 mysqldump
  3. db_backup.shDocker 生产路径,从 Nexus 容器/volume 解析 NEXUS_DATABASE_URL,默认 /var/backups/nexus
  4. install_ops_cron.sh(新):幂等写入 health_monitor(每分钟)与 db_backup(每日 03:00crontab。
  5. nx:菜单 [e] / 子命令 nx cron 安装上述 cron。
  6. install_ops_cron:宿主机无 crontab 时自动 apt install cron 并启用服务。

涉及文件

  • deploy/mysql_dump_to_file.sh
  • deploy/install_ops_cron.sh
  • deploy/db_backup.sh
  • deploy/nexus-1panel.sh
  • deploy/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