aBER0724 commited on
Commit
6a61d54
·
verified ·
1 Parent(s): 5e4ecb6

Update sync_data.sh

Browse files
Files changed (1) hide show
  1. 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
- # 检查并恢复配置文件(从 GitHub
146
- if [ -d "$GITHUB_DATA_DIR/config" ] && [ -d "$GITHUB_DATA_DIR/tools" ]; then
147
- echo "从 GitHub 仓库中恢复配置文件..."
148
- # 创建目标目录
 
 
 
 
149
  mkdir -p /mcp-proxy-server/config
 
 
 
 
 
 
 
 
 
 
150
  mkdir -p /tools
151
-
152
- # 复制配置文件(检查是否为空)
153
- if [ "$(ls -A $GITHUB_DATA_DIR/config 2>/dev/null)" ]; then
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 仓库中未找到 config 或 tools 目录"
170
- if [ "$RESTORE_SOURCE" = "auto" ]; then
171
- echo "尝试从 WebDAV 恢复..."
172
- restore_from_webdav || echo "WebDAV 恢复也失败,将在同步时推送当前配置"
173
- fi
 
 
 
 
 
 
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