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

Update sync_data.sh

Browse files
Files changed (1) hide show
  1. sync_data.sh +107 -8
sync_data.sh CHANGED
@@ -214,10 +214,57 @@ sync_data() {
214
  echo "/mcp-proxy-server/config 目录不存在或为空"
215
  fi
216
 
217
- if [ -d "/tools" ] && [ "$(ls -A /tools 2>/dev/null)" ]; then
218
- cp -r /tools/* ./tools/ 2>/dev/null && echo "tools 目录同步成功" || echo "tools 目录同步失败"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
219
  else
220
- echo "/tools 目录不存在或为空"
221
  fi
222
 
223
  # 检查是否有变化
@@ -257,16 +304,68 @@ sync_data() {
257
  # 复制要备份的目录到临时目录
258
  BACKUP_CREATED=0
259
 
260
- if [ -d "/mcp-proxy-server/config" ] && [ "$(ls -A /mcp-proxy-server/config 2>/dev/null | grep -v github_data | grep -v temp_backup | grep -v webdav_restore)" ]; then
261
- echo "备份 config 目录..."
262
- mkdir -p "$TEMP_DIR/config"
263
- rsync -av --exclude='github_data' --exclude='temp_backup' --exclude='webdav_restore' /mcp-proxy-server/config/ "$TEMP_DIR/config/" 2>/dev/null && BACKUP_CREATED=1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
264
  fi
265
 
266
  if [ -d "/tools" ] && [ "$(ls -A /tools 2>/dev/null)" ]; then
267
  echo "备份 tools 目录..."
268
  mkdir -p "$TEMP_DIR/tools"
269
- cp -r /tools/* "$TEMP_DIR/tools/" 2>/dev/null && BACKUP_CREATED=1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
270
  fi
271
 
272
  # 创建压缩包
 
214
  echo "/mcp-proxy-server/config 目录不存在或为空"
215
  fi
216
 
217
+ if [ -d "/tools" ]; then
218
+ echo "检查 /tools 目录内容..."
219
+ ls -la /tools/ | head -10
220
+
221
+ if [ "$(ls -A /tools 2>/dev/null)" ]; then
222
+ echo "发现 tools 文件,开始同步..."
223
+
224
+ # 清空目标目录,确保完全同步
225
+ rm -rf ./tools/*
226
+
227
+ # 逐个处理 tools 目录下的项目
228
+ for item in /tools/*; do
229
+ if [ -e "$item" ]; then
230
+ BASENAME=$(basename "$item")
231
+ echo "处理 tools 项目: $BASENAME"
232
+
233
+ if [ -d "$item" ]; then
234
+ echo " -> 这是一个目录,检查内容..."
235
+ ls -la "$item" | head -5
236
+
237
+ # 创建目标目录
238
+ mkdir -p "./tools/$BASENAME"
239
+
240
+ # 复制目录内容,包括隐藏文件
241
+ if [ "$(ls -A "$item" 2>/dev/null)" ]; then
242
+ echo " -> 目录有内容,开始复制..."
243
+ cp -r "$item"/* "./tools/$BASENAME/" 2>/dev/null && echo " -> tools 目录 $BASENAME 复制成功" || echo " -> tools 目录 $BASENAME 复制失败"
244
+
245
+ # 也复制隐藏文件
246
+ cp -r "$item"/.[!.]* "./tools/$BASENAME/" 2>/dev/null || true
247
+
248
+ echo " -> 检查复制结果:"
249
+ ls -la "./tools/$BASENAME/" | head -5
250
+ else
251
+ echo " -> 目录为空,创建空目录"
252
+ touch "./tools/$BASENAME/.gitkeep" # 确保空目录被Git跟踪
253
+ fi
254
+ else
255
+ echo " -> 这是一个文件,直接复制"
256
+ cp "$item" "./tools/" 2>/dev/null && echo " -> tools 文件 $BASENAME 复制成功" || echo " -> tools 文件 $BASENAME 复制失败"
257
+ fi
258
+ fi
259
+ done
260
+
261
+ echo "tools 目录同步完成,检查最终结果:"
262
+ find ./tools -type f | head -10
263
+ else
264
+ echo "/tools 目录为空"
265
+ fi
266
  else
267
+ echo "/tools 目录不存在"
268
  fi
269
 
270
  # 检查是否有变化
 
304
  # 复制要备份的目录到临时目录
305
  BACKUP_CREATED=0
306
 
307
+ if [ -d "/mcp-proxy-server/config" ]; then
308
+ echo "检查 config 目录用于备份..."
309
+ # 检查是否有非工作目录的文件
310
+ CONFIG_FILES=$(ls -A /mcp-proxy-server/config 2>/dev/null | grep -v -E '(github_data|temp_backup|webdav_restore)' || true)
311
+
312
+ if [ -n "$CONFIG_FILES" ]; then
313
+ echo "备份 config 目录..."
314
+ mkdir -p "$TEMP_DIR/config"
315
+
316
+ # 使用 cp 逐个复制,排除工作目录
317
+ for item in /mcp-proxy-server/config/*; do
318
+ if [ -e "$item" ]; then
319
+ BASENAME=$(basename "$item")
320
+ case "$BASENAME" in
321
+ github_data|temp_backup|webdav_restore)
322
+ echo "跳过工作目录: $BASENAME"
323
+ ;;
324
+ *)
325
+ if [ -d "$item" ]; then
326
+ cp -r "$item" "$TEMP_DIR/config/" 2>/dev/null && BACKUP_CREATED=1
327
+ else
328
+ cp "$item" "$TEMP_DIR/config/" 2>/dev/null && BACKUP_CREATED=1
329
+ fi
330
+ ;;
331
+ esac
332
+ fi
333
+ done
334
+ else
335
+ echo "config 目录为空或只有工作目录,跳过备份"
336
+ fi
337
  fi
338
 
339
  if [ -d "/tools" ] && [ "$(ls -A /tools 2>/dev/null)" ]; then
340
  echo "备份 tools 目录..."
341
  mkdir -p "$TEMP_DIR/tools"
342
+
343
+ # 逐个处理 tools 目录下的项目
344
+ for item in /tools/*; do
345
+ if [ -e "$item" ]; then
346
+ BASENAME=$(basename "$item")
347
+ echo "备份 tools 项目: $BASENAME"
348
+
349
+ if [ -d "$item" ]; then
350
+ # 创建目标目录
351
+ mkdir -p "$TEMP_DIR/tools/$BASENAME"
352
+
353
+ # 复制目录内容,包括隐藏文件
354
+ if [ "$(ls -A "$item" 2>/dev/null)" ]; then
355
+ cp -r "$item"/* "$TEMP_DIR/tools/$BASENAME/" 2>/dev/null && BACKUP_CREATED=1
356
+ # 也复制隐藏文件
357
+ cp -r "$item"/.[!.]* "$TEMP_DIR/tools/$BASENAME/" 2>/dev/null || true
358
+ else
359
+ # 空目录也创建 .gitkeep
360
+ touch "$TEMP_DIR/tools/$BASENAME/.gitkeep"
361
+ BACKUP_CREATED=1
362
+ fi
363
+ else
364
+ # 直接复制文件
365
+ cp "$item" "$TEMP_DIR/tools/" 2>/dev/null && BACKUP_CREATED=1
366
+ fi
367
+ fi
368
+ done
369
  fi
370
 
371
  # 创建压缩包