v1.1.1: 修复备份zip内备份状态滞后(先落盘状态再打包), 备份文件包含正确时间戳
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user