#!/bin/bash set -eo pipefail # 检查环境变量 required_vars=("WEBDAV_URL" "WEBDAV_USERNAME" "WEBDAV_PASSWORD") for var in "${required_vars[@]}"; do if [ -z "${!var}" ]; then echo "警告: 缺少必要环境变量 $var,将禁用备份功能" exec ./alist server --data /app/config exit 0 fi done # 设置完整WebDAV路径 FULL_WEBDAV_URL="${WEBDAV_URL}${WEBDAV_BACKUP_PATH:+/$WEBDAV_BACKUP_PATH}" # 恢复备份函数 restore_backup() { echo "尝试从WebDAV恢复最新备份..." python3 < 5: for old_backup in sorted(backups)[:-5]: client.clean(old_backup) print(f"已删除旧备份: {old_backup}") except Exception as e: print(f"备份操作失败: {str(e)}") raise upload_and_clean() EOF rm -f "$backup_file" echo "下次同步将在 $SYNC_INTERVAL 秒后..." sleep "$SYNC_INTERVAL" done } # 启动同步进程 sync_data