Spaces:
Running
Running
Update sync_data.sh
Browse files- sync_data.sh +11 -11
sync_data.sh
CHANGED
@@ -20,7 +20,7 @@ restore_from_webdav() {
|
|
20 |
YESTERDAY_FILENAME="mcp_backup_$(date -d '1 day ago' +'%m_%d').tar.gz"
|
21 |
|
22 |
# 创建临时恢复目录
|
23 |
-
RESTORE_DIR="
|
24 |
mkdir -p "$RESTORE_DIR"
|
25 |
|
26 |
# 尝试下载今天的备份,如果失败则尝试昨天的
|
@@ -80,11 +80,11 @@ IFS='/' read -r GITHUB_USER GITHUB_REPO <<< "$G_NAME"
|
|
80 |
|
81 |
# 构建 GitHub 仓库的克隆 URL,包含令牌
|
82 |
REPO_URL="https://${G_TOKEN}@github.com/${G_NAME}.git"
|
83 |
-
mkdir -p
|
84 |
|
85 |
# 克隆仓库
|
86 |
echo "正在克隆仓库……"
|
87 |
-
git clone "$REPO_URL"
|
88 |
echo "克隆失败,请检查 G_NAME 和 G_TOKEN 是否正确。"
|
89 |
exit 1
|
90 |
}
|
@@ -114,15 +114,15 @@ if [ "$RESTORE_SOURCE" = "webdav" ]; then
|
|
114 |
restore_from_webdav
|
115 |
elif [ "$RESTORE_SOURCE" = "github" ] || [ "$RESTORE_SOURCE" = "auto" ]; then
|
116 |
# 检查并恢复配置文件(从 GitHub)
|
117 |
-
if [ -d
|
118 |
echo "从 GitHub 仓库中恢复配置文件..."
|
119 |
# 创建目标目录
|
120 |
mkdir -p /mcp-proxy-server/config
|
121 |
mkdir -p /tools
|
122 |
|
123 |
# 复制配置文件
|
124 |
-
cp -r
|
125 |
-
cp -r
|
126 |
|
127 |
echo "从 GitHub 仓库中拉取配置文件成功"
|
128 |
else
|
@@ -145,7 +145,7 @@ sync_data() {
|
|
145 |
# 1. 同步到 GitHub
|
146 |
echo "正在开始同步"
|
147 |
# 进入仓库目录
|
148 |
-
cd
|
149 |
# 配置 Git 用户信息
|
150 |
git config user.name "AutoSync Bot"
|
151 |
git config user.email "[email protected]"
|
@@ -203,7 +203,7 @@ sync_data() {
|
|
203 |
FILENAME="mcp_backup_$(date +'%m_%d').tar.gz"
|
204 |
|
205 |
# 创建临时备份压缩包
|
206 |
-
TEMP_DIR="
|
207 |
mkdir -p "$TEMP_DIR"
|
208 |
|
209 |
# 复制要备份的目录到临时目录
|
@@ -221,18 +221,18 @@ sync_data() {
|
|
221 |
cd ../../..
|
222 |
|
223 |
# 使用 curl 进行文件上传
|
224 |
-
curl -T "
|
225 |
echo "WebDAV 上传成功"
|
226 |
} || {
|
227 |
echo "WebDAV 上传失败,等待重试..."
|
228 |
sleep 10
|
229 |
-
curl -T "
|
230 |
echo "重试失败,放弃webdav上传。"
|
231 |
}
|
232 |
}
|
233 |
|
234 |
# 清理临时文件
|
235 |
-
rm -f "
|
236 |
else
|
237 |
echo "没有找到要备份的文件,跳过 WebDAV 同步"
|
238 |
fi
|
|
|
20 |
YESTERDAY_FILENAME="mcp_backup_$(date -d '1 day ago' +'%m_%d').tar.gz"
|
21 |
|
22 |
# 创建临时恢复目录
|
23 |
+
RESTORE_DIR="/mcp-proxy-server/config/webdav_restore"
|
24 |
mkdir -p "$RESTORE_DIR"
|
25 |
|
26 |
# 尝试下载今天的备份,如果失败则尝试昨天的
|
|
|
80 |
|
81 |
# 构建 GitHub 仓库的克隆 URL,包含令牌
|
82 |
REPO_URL="https://${G_TOKEN}@github.com/${G_NAME}.git"
|
83 |
+
mkdir -p /mcp-proxy-server/config/github_data
|
84 |
|
85 |
# 克隆仓库
|
86 |
echo "正在克隆仓库……"
|
87 |
+
git clone "$REPO_URL" /mcp-proxy-server/config/github_data || {
|
88 |
echo "克隆失败,请检查 G_NAME 和 G_TOKEN 是否正确。"
|
89 |
exit 1
|
90 |
}
|
|
|
114 |
restore_from_webdav
|
115 |
elif [ "$RESTORE_SOURCE" = "github" ] || [ "$RESTORE_SOURCE" = "auto" ]; then
|
116 |
# 检查并恢复配置文件(从 GitHub)
|
117 |
+
if [ -d /mcp-proxy-server/config/github_data/config ] && [ -d /mcp-proxy-server/config/github_data/tools ]; then
|
118 |
echo "从 GitHub 仓库中恢复配置文件..."
|
119 |
# 创建目标目录
|
120 |
mkdir -p /mcp-proxy-server/config
|
121 |
mkdir -p /tools
|
122 |
|
123 |
# 复制配置文件
|
124 |
+
cp -r /mcp-proxy-server/config/github_data/config/* /mcp-proxy-server/config/ 2>/dev/null || echo "config 目录为空或复制失败"
|
125 |
+
cp -r /mcp-proxy-server/config/github_data/tools/* /tools/ 2>/dev/null || echo "tools 目录为空或复制失败"
|
126 |
|
127 |
echo "从 GitHub 仓库中拉取配置文件成功"
|
128 |
else
|
|
|
145 |
# 1. 同步到 GitHub
|
146 |
echo "正在开始同步"
|
147 |
# 进入仓库目录
|
148 |
+
cd /mcp-proxy-server/config/github_data
|
149 |
# 配置 Git 用户信息
|
150 |
git config user.name "AutoSync Bot"
|
151 |
git config user.email "[email protected]"
|
|
|
203 |
FILENAME="mcp_backup_$(date +'%m_%d').tar.gz"
|
204 |
|
205 |
# 创建临时备份压缩包
|
206 |
+
TEMP_DIR="/mcp-proxy-server/config/temp_backup"
|
207 |
mkdir -p "$TEMP_DIR"
|
208 |
|
209 |
# 复制要备份的目录到临时目录
|
|
|
221 |
cd ../../..
|
222 |
|
223 |
# 使用 curl 进行文件上传
|
224 |
+
curl -T "/mcp-proxy-server/config/$FILENAME" --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$WEBDAV_URL/$FILENAME" && {
|
225 |
echo "WebDAV 上传成功"
|
226 |
} || {
|
227 |
echo "WebDAV 上传失败,等待重试..."
|
228 |
sleep 10
|
229 |
+
curl -T "/mcp-proxy-server/config/$FILENAME" --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$WEBDAV_URL/$FILENAME" || {
|
230 |
echo "重试失败,放弃webdav上传。"
|
231 |
}
|
232 |
}
|
233 |
|
234 |
# 清理临时文件
|
235 |
+
rm -f "/mcp-proxy-server/config/$FILENAME"
|
236 |
else
|
237 |
echo "没有找到要备份的文件,跳过 WebDAV 同步"
|
238 |
fi
|