中控备份支持上传 tar.gz 后再恢复,便于换机迁移。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-10-05 18:45:37 +08:00
parent e18dd41c2d
commit 02ca76ea7c
4 changed files with 541 additions and 442 deletions
+11
View File
@@ -36,6 +36,7 @@ from lib.backup_lib import (
create_backup as create_hub_backup,
list_backups as list_hub_backups,
restore_backup as restore_hub_backup,
save_uploaded_backup as save_hub_uploaded_backup,
start_backup_scheduler as start_hub_backup_scheduler,
)
from lib.bridge_client_lib import (
@@ -397,6 +398,16 @@ def api_hub_backup_restore():
return jsonify(result), (200 if result.get("ok") else 400)
@app.route("/api/settings/backup/hub/upload", methods=["POST"])
@login_required
def api_hub_backup_upload():
fs = request.files.get("file")
if fs is None or not getattr(fs, "filename", None):
return jsonify({"ok": False, "msg": "请选择备份文件"}), 400
result = save_hub_uploaded_backup(fs)
return jsonify(result), (200 if result.get("ok") else 400)
@app.route("/api/settings/backup/instances", methods=["GET"])
@login_required
def api_backup_instances():