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
|