中控备份支持上传 tar.gz 后再恢复,便于换机迁移。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -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():
|
||||
|
||||
Reference in New Issue
Block a user