Spaces:
Running
Running
Update sync_data.sh
Browse files- sync_data.sh +32 -26
sync_data.sh
CHANGED
|
@@ -142,35 +142,41 @@ if [ "$RESTORE_SOURCE" = "webdav" ]; then
|
|
| 142 |
# 仅从 WebDAV 恢复
|
| 143 |
restore_from_webdav
|
| 144 |
elif [ "$RESTORE_SOURCE" = "github" ] || [ "$RESTORE_SOURCE" = "auto" ]; then
|
| 145 |
-
#
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 149 |
mkdir -p /mcp-proxy-server/config
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 150 |
mkdir -p /tools
|
| 151 |
-
|
| 152 |
-
|
| 153 |
-
|
| 154 |
-
cp -r "$GITHUB_DATA_DIR/config"/* /mcp-proxy-server/config/
|
| 155 |
-
echo "config 目录恢复成功"
|
| 156 |
-
else
|
| 157 |
-
echo "GitHub 仓库中的 config 目录为空"
|
| 158 |
-
fi
|
| 159 |
-
|
| 160 |
-
if [ "$(ls -A $GITHUB_DATA_DIR/tools 2>/dev/null)" ]; then
|
| 161 |
-
cp -r "$GITHUB_DATA_DIR/tools"/* /tools/
|
| 162 |
-
echo "tools 目录恢复成功"
|
| 163 |
-
else
|
| 164 |
-
echo "GitHub 仓库中的 tools 目录为空"
|
| 165 |
-
fi
|
| 166 |
-
|
| 167 |
-
echo "从 GitHub 仓库中拉取配置文件完成"
|
| 168 |
else
|
| 169 |
-
echo "GitHub
|
| 170 |
-
|
| 171 |
-
|
| 172 |
-
|
| 173 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 174 |
fi
|
| 175 |
fi
|
| 176 |
|
|
|
|
| 142 |
# 仅从 WebDAV 恢复
|
| 143 |
restore_from_webdav
|
| 144 |
elif [ "$RESTORE_SOURCE" = "github" ] || [ "$RESTORE_SOURCE" = "auto" ]; then
|
| 145 |
+
# 优先从 GitHub 恢复,即使只有部分内容
|
| 146 |
+
GITHUB_RESTORED=0
|
| 147 |
+
|
| 148 |
+
echo "优先检查 GitHub 仓库..."
|
| 149 |
+
|
| 150 |
+
# 检查并恢复 config 目录
|
| 151 |
+
if [ -d "$GITHUB_DATA_DIR/config" ] && [ "$(ls -A $GITHUB_DATA_DIR/config 2>/dev/null)" ]; then
|
| 152 |
+
echo "从 GitHub 恢复 config 目录..."
|
| 153 |
mkdir -p /mcp-proxy-server/config
|
| 154 |
+
cp -r "$GITHUB_DATA_DIR/config"/* /mcp-proxy-server/config/
|
| 155 |
+
echo "GitHub: config 目录恢复成功"
|
| 156 |
+
GITHUB_RESTORED=1
|
| 157 |
+
else
|
| 158 |
+
echo "GitHub 仓库中没有 config 目录或目录为空"
|
| 159 |
+
fi
|
| 160 |
+
|
| 161 |
+
# 检查并恢复 tools 目录
|
| 162 |
+
if [ -d "$GITHUB_DATA_DIR/tools" ] && [ "$(ls -A $GITHUB_DATA_DIR/tools 2>/dev/null)" ]; then
|
| 163 |
+
echo "从 GitHub 恢复 tools 目录..."
|
| 164 |
mkdir -p /tools
|
| 165 |
+
cp -r "$GITHUB_DATA_DIR/tools"/* /tools/
|
| 166 |
+
echo "GitHub: tools 目录恢复成功"
|
| 167 |
+
GITHUB_RESTORED=1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 168 |
else
|
| 169 |
+
echo "GitHub 仓库中没有 tools 目录或目录为空"
|
| 170 |
+
fi
|
| 171 |
+
|
| 172 |
+
# 如果是 auto 模式且 GitHub 没有恢复任何内容,才尝试 WebDAV
|
| 173 |
+
if [ "$RESTORE_SOURCE" = "auto" ] && [ "$GITHUB_RESTORED" = "0" ]; then
|
| 174 |
+
echo "GitHub 中没有找到任何配置,尝试从 WebDAV 恢复..."
|
| 175 |
+
restore_from_webdav || echo "WebDAV 恢复也失败,将在同步时推送当前配置"
|
| 176 |
+
elif [ "$GITHUB_RESTORED" = "1" ]; then
|
| 177 |
+
echo "从 GitHub 恢复配置文件完成"
|
| 178 |
+
else
|
| 179 |
+
echo "GitHub 中没有可恢复的配置文件"
|
| 180 |
fi
|
| 181 |
fi
|
| 182 |
|