Spaces:
Running
Running
Update sync_data.sh
Browse files- sync_data.sh +0 -16
sync_data.sh
CHANGED
|
@@ -36,19 +36,9 @@ restore_from_webdav() {
|
|
| 36 |
|
| 37 |
# 如果PROPFIND失败,尝试简单的GET请求
|
| 38 |
if [ -z "$RAW_RESPONSE" ] || echo "$RAW_RESPONSE" | grep -q "Method Not Allowed"; then
|
| 39 |
-
echo "调试: PROPFIND 方法失败,尝试 GET 方法..."
|
| 40 |
RAW_RESPONSE=$(curl -s --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$WEBDAV_URL/")
|
| 41 |
fi
|
| 42 |
|
| 43 |
-
# 显示调试信息
|
| 44 |
-
echo "调试: WebDAV 响应长度 $(echo "$RAW_RESPONSE" | wc -c) 字符"
|
| 45 |
-
echo "调试: 响应前500字符:"
|
| 46 |
-
echo "$RAW_RESPONSE" | head -c 500
|
| 47 |
-
echo ""
|
| 48 |
-
echo "调试: 查找所有包含 'mcp_backup' 的行:"
|
| 49 |
-
echo "$RAW_RESPONSE" | grep -i mcp_backup || echo " (未找到包含 mcp_backup 的行)"
|
| 50 |
-
echo ""
|
| 51 |
-
|
| 52 |
# 多种匹配方式
|
| 53 |
# 方式1: 从XML响应中提取文件名
|
| 54 |
BACKUP_LIST1=$(echo "$RAW_RESPONSE" | grep -oE '<D:displayname[^>]*>[^<]*mcp_backup_[0-9]+_[0-9]+\.tar\.gz[^<]*</D:displayname>' | sed 's/<[^>]*>//g')
|
|
@@ -62,14 +52,8 @@ restore_from_webdav() {
|
|
| 62 |
# 合并所有结果
|
| 63 |
BACKUP_LIST=$(printf "%s\n%s\n%s\n" "$BACKUP_LIST1" "$BACKUP_LIST2" "$BACKUP_LIST3" | grep -v '^$' | sort -u | sort -r)
|
| 64 |
|
| 65 |
-
echo "调试: 方式1(XML)找到 $(echo "$BACKUP_LIST1" | grep -c mcp_backup 2>/dev/null || echo 0) 个文件"
|
| 66 |
-
echo "调试: 方式2(href)找到 $(echo "$BACKUP_LIST2" | grep -c mcp_backup 2>/dev/null || echo 0) 个文件"
|
| 67 |
-
echo "调试: 方式3(文本)找到 $(echo "$BACKUP_LIST3" | grep -c mcp_backup 2>/dev/null || echo 0) 个文件"
|
| 68 |
-
echo "调试: 合并后总共 $(echo "$BACKUP_LIST" | grep -c mcp_backup 2>/dev/null || echo 0) 个文件"
|
| 69 |
-
|
| 70 |
if [ -z "$BACKUP_LIST" ]; then
|
| 71 |
echo "未找到任何备份文件"
|
| 72 |
-
echo "请检查以上调试信息,确认 WebDAV 响应格式"
|
| 73 |
rm -rf "$RESTORE_DIR"
|
| 74 |
return 1
|
| 75 |
fi
|
|
|
|
| 36 |
|
| 37 |
# 如果PROPFIND失败,尝试简单的GET请求
|
| 38 |
if [ -z "$RAW_RESPONSE" ] || echo "$RAW_RESPONSE" | grep -q "Method Not Allowed"; then
|
|
|
|
| 39 |
RAW_RESPONSE=$(curl -s --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$WEBDAV_URL/")
|
| 40 |
fi
|
| 41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 42 |
# 多种匹配方式
|
| 43 |
# 方式1: 从XML响应中提取文件名
|
| 44 |
BACKUP_LIST1=$(echo "$RAW_RESPONSE" | grep -oE '<D:displayname[^>]*>[^<]*mcp_backup_[0-9]+_[0-9]+\.tar\.gz[^<]*</D:displayname>' | sed 's/<[^>]*>//g')
|
|
|
|
| 52 |
# 合并所有结果
|
| 53 |
BACKUP_LIST=$(printf "%s\n%s\n%s\n" "$BACKUP_LIST1" "$BACKUP_LIST2" "$BACKUP_LIST3" | grep -v '^$' | sort -u | sort -r)
|
| 54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
if [ -z "$BACKUP_LIST" ]; then
|
| 56 |
echo "未找到任何备份文件"
|
|
|
|
| 57 |
rm -rf "$RESTORE_DIR"
|
| 58 |
return 1
|
| 59 |
fi
|