Spaces:
Sleeping
Sleeping
Update scripts/backup_to_dataset.py
Browse files- scripts/backup_to_dataset.py +20 -2
scripts/backup_to_dataset.py
CHANGED
|
@@ -7,6 +7,10 @@ import sqlite3
|
|
| 7 |
import tarfile
|
| 8 |
from huggingface_hub import HfApi, login
|
| 9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
# ===== 配置 =====
|
| 11 |
DB_PATH = "/app/server/data/freeapi.db" # 数据库路径
|
| 12 |
DATASET_REPO = "lydgs/freellm-backup" # 数据集名称
|
|
@@ -46,6 +50,12 @@ def export_db_to_json(db_path, temp_dir):
|
|
| 46 |
return exported_files
|
| 47 |
|
| 48 |
def backup_database():
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
if not os.path.exists(DB_PATH):
|
| 50 |
print(f"❌ 数据库文件不存在: {DB_PATH}")
|
| 51 |
return False
|
|
@@ -59,7 +69,13 @@ def backup_database():
|
|
| 59 |
backup_name = f"{BACKUP_PREFIX}_{timestamp}.db"
|
| 60 |
config_tar_name = f"{CONFIG_PREFIX}_{timestamp}.tar.gz"
|
| 61 |
|
| 62 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 63 |
api = HfApi()
|
| 64 |
|
| 65 |
# 1. 上传二进制备份
|
|
@@ -134,7 +150,9 @@ def backup_database():
|
|
| 134 |
|
| 135 |
if __name__ == "__main__":
|
| 136 |
print(f"[{datetime.datetime.now()}] 开始备份及配置导出...")
|
| 137 |
-
|
|
|
|
|
|
|
| 138 |
print("备份任务完成")
|
| 139 |
sys.exit(0)
|
| 140 |
else:
|
|
|
|
| 7 |
import tarfile
|
| 8 |
from huggingface_hub import HfApi, login
|
| 9 |
|
| 10 |
+
# 强制 stdout/stderr 实时输出(对 cron 日志很重要)
|
| 11 |
+
sys.stdout.reconfigure(line_buffering=True)
|
| 12 |
+
sys.stderr.reconfigure(line_buffering=True)
|
| 13 |
+
|
| 14 |
# ===== 配置 =====
|
| 15 |
DB_PATH = "/app/server/data/freeapi.db" # 数据库路径
|
| 16 |
DATASET_REPO = "lydgs/freellm-backup" # 数据集名称
|
|
|
|
| 50 |
return exported_files
|
| 51 |
|
| 52 |
def backup_database():
|
| 53 |
+
# 打印调试信息:检查环境变量
|
| 54 |
+
print(f"[DEBUG] HF_TOKEN present: {bool(os.getenv('HF_TOKEN'))}")
|
| 55 |
+
print(f"[DEBUG] BAILIAN_API_KEY present: {bool(os.getenv('BAILIAN_API_KEY'))}")
|
| 56 |
+
print(f"[DEBUG] Database file exists: {os.path.exists(DB_PATH)}")
|
| 57 |
+
print(f"[DEBUG] Database file size: {os.path.getsize(DB_PATH) if os.path.exists(DB_PATH) else 'N/A'}")
|
| 58 |
+
|
| 59 |
if not os.path.exists(DB_PATH):
|
| 60 |
print(f"❌ 数据库文件不存在: {DB_PATH}")
|
| 61 |
return False
|
|
|
|
| 69 |
backup_name = f"{BACKUP_PREFIX}_{timestamp}.db"
|
| 70 |
config_tar_name = f"{CONFIG_PREFIX}_{timestamp}.tar.gz"
|
| 71 |
|
| 72 |
+
try:
|
| 73 |
+
login(token=token)
|
| 74 |
+
print("[DEBUG] Hugging Face login successful")
|
| 75 |
+
except Exception as e:
|
| 76 |
+
print(f"❌ 登录 Hugging Face 失败: {e}")
|
| 77 |
+
return False
|
| 78 |
+
|
| 79 |
api = HfApi()
|
| 80 |
|
| 81 |
# 1. 上传二进制备份
|
|
|
|
| 150 |
|
| 151 |
if __name__ == "__main__":
|
| 152 |
print(f"[{datetime.datetime.now()}] 开始备份及配置导出...")
|
| 153 |
+
success = backup_database()
|
| 154 |
+
print(f"[DEBUG] backup_database returned: {success}")
|
| 155 |
+
if success:
|
| 156 |
print("备份任务完成")
|
| 157 |
sys.exit(0)
|
| 158 |
else:
|