1 Commits
+6 -5
View File
@@ -309,6 +309,12 @@ def vision_config():
def make_backup(manual=False):
"""生成备份 zip(数据库 + 上传目录)"""
with _lock:
# 先落盘备份状态(让备份文件内包含正确的时间/计数),再 checkpoint 合并 WAL
db = sqlite3.connect(str(DB_PATH))
set_setting(db, "last_backup_time", _ts())
set_setting(db, "change_counter", "0")
db.commit()
db.close()
c = sqlite3.connect(str(DB_PATH))
try:
c.execute("PRAGMA wal_checkpoint(TRUNCATE)")
@@ -323,11 +329,6 @@ def make_backup(manual=False):
for p in sorted(UPLOAD_DIR.rglob("*")):
if p.is_file():
z.write(p, f"data/uploads/{p.relative_to(UPLOAD_DIR)}")
db = sqlite3.connect(str(DB_PATH))
set_setting(db, "last_backup_time", _ts())
set_setting(db, "change_counter", "0")
db.commit()
db.close()
_prune_backups()
return name