- 新增备份管理 API 和页面 - 自动备份:每天 04:00 执行 - 手动备份:页面一键备份 - 备份清理规则: - 保留最近 30 天 - 每月第一天永久保留 - 手动备份最多保留 10 个 - 支持恢复和删除备份
35 lines
865 B
Python
Executable File
35 lines
865 B
Python
Executable File
#!/usr/bin/env python3
|
|
"""
|
|
Xian Favor 自动备份脚本
|
|
定时任务调用此脚本进行自动备份
|
|
"""
|
|
|
|
import sys
|
|
import os
|
|
|
|
# 添加项目路径
|
|
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
|
|
from xian_favor.db import db
|
|
|
|
def main():
|
|
"""执行自动备份"""
|
|
print(f"[{datetime.now().isoformat()}] 开始自动备份...")
|
|
|
|
try:
|
|
backup_info = db.create_backup(manual=False)
|
|
print(f"备份成功: {backup_info['name']}")
|
|
print(f"大小: {backup_info['size']} bytes")
|
|
print(f"位置: {backup_info['path']}")
|
|
|
|
# 清理旧备份
|
|
db._cleanup_old_backups()
|
|
print("旧备份清理完成")
|
|
|
|
except Exception as e:
|
|
print(f"备份失败: {e}")
|
|
sys.exit(1)
|
|
|
|
if __name__ == '__main__':
|
|
from datetime import datetime
|
|
main() |