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 "autosync@bot.com"
|
|
@@ -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 "autosync@bot.com"
|
|
|
|
| 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
|