nbugs commited on
Commit
636a8bc
·
verified ·
1 Parent(s): b10884e

Update sync_data.sh

Browse files
Files changed (1) hide show
  1. sync_data.sh +37 -8
sync_data.sh CHANGED
@@ -95,19 +95,35 @@ EOL
95
  # 首次启动时的数据恢复策略
96
  echo "开始初始化数据恢复..."
97
 
 
 
 
 
 
 
98
  # 首先尝试从 WebDAV 恢复最新文件
99
  echo "正在尝试从 WebDAV 获取文件列表..."
 
 
 
 
 
 
100
 
101
  # 获取 WebDAV 目录中的文件列表并找出最新的备份文件
102
- webdav_files=$(curl -s -X PROPFIND --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" -H "Depth: 1" "$WEBDAV_URL/openwebui/" | grep -o '<d:href>[^<]*webui_[0-9][0-9]-[0-9][0-9]\.db</d:href>' | sed 's/<d:href>//g' | sed 's/<\/d:href>//g')
103
 
104
  if [ -n "$webdav_files" ]; then
105
  # 找出最新的文件 (按文件名排序,取最后一个)
106
  latest_file=$(echo "$webdav_files" | sort | tail -n 1)
107
  echo "找到最新的 WebDAV 备份文件: $latest_file"
108
 
 
 
 
 
109
  # 下载最新文件
110
- curl -L --fail --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$WEBDAV_URL$latest_file" -o "./data/webui.db" && {
111
  echo "成功从 WebDAV 下载最新数据库文件: $latest_file"
112
  # 上传到 HuggingFace
113
  timestamp=$(date +%Y%m%d_%H%M%S)
@@ -119,7 +135,11 @@ if [ -n "$webdav_files" ]; then
119
  } || {
120
  echo "从 WebDAV 下载最新文件失败,尝试下载 WebDAV 的 webui.db..."
121
 
122
- curl -L --fail --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$WEBDAV_URL/openwebui/webui.db" -o "./data/webui.db" && {
 
 
 
 
123
  echo "成功从 WebDAV 下载主数据库文件"
124
  # 上传到 HuggingFace
125
  timestamp=$(date +%Y%m%d_%H%M%S)
@@ -137,7 +157,12 @@ if [ -n "$webdav_files" ]; then
137
  }
138
  else
139
  echo "WebDAV 中没有找到符合格式的备份文件,尝试下载 webui.db..."
140
- curl -L --fail --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$WEBDAV_URL/openwebui/webui.db" -o "./data/webui.db" && {
 
 
 
 
 
141
  echo "成功从 WebDAV 下载主数据库文件"
142
  # 上传到 HuggingFace
143
  timestamp=$(date +%Y%m%d_%H%M%S)
@@ -169,13 +194,17 @@ webdav_sync() {
169
  FILENAME="webui_$(date +'%m-%d_%H%M').db"
170
 
171
  echo "同步到 WebDAV..."
 
 
172
 
173
  # 上传以日期命名的数据库文件
174
- curl -L -T "./data/webui.db" --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$WEBDAV_URL/openwebui/$FILENAME" && {
175
  echo "WebDAV 上传成功: $FILENAME"
176
 
177
  # 覆盖Webdav目录下默认的webui.db文件
178
- curl -L -T "./data/webui.db" --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$WEBDAV_URL/openwebui/webui.db" && {
 
 
179
  echo "WebDAV 更新主文件成功"
180
  } || {
181
  echo "WebDAV 更新主文件失败"
@@ -183,7 +212,8 @@ webdav_sync() {
183
  } || {
184
  echo "WebDAV 上传失败,等待重试..."
185
  sleep 10
186
- curl -L -T "./data/webui.db" --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$WEBDAV_URL/openwebui/$FILENAME" || {
 
187
  echo "重试失败,放弃上传。"
188
  }
189
  }
@@ -229,4 +259,3 @@ hf_sync() {
229
  # 后台启动同步进程
230
  webdav_sync &
231
  hf_sync &
232
-
 
95
  # 首次启动时的数据恢复策略
96
  echo "开始初始化数据恢复..."
97
 
98
+ # 打印 WebDAV 信息(隐藏密码)
99
+ echo "WebDAV URL: $WEBDAV_URL"
100
+ echo "WebDAV 用户名: $WEBDAV_USERNAME"
101
+ masked_password=$(echo $WEBDAV_PASSWORD | sed 's/./*/g')
102
+ echo "WebDAV 密码: $masked_password"
103
+
104
  # 首先尝试从 WebDAV 恢复最新文件
105
  echo "正在尝试从 WebDAV 获取文件列表..."
106
+ echo "PROPFIND 请求: $WEBDAV_URL/openwebui/"
107
+
108
+ # 获取并打印 WebDAV 目录内容
109
+ webdav_list_output=$(curl -v -X PROPFIND --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" -H "Depth: 1" "$WEBDAV_URL/openwebui/" 2>&1)
110
+ echo "WebDAV 目录内容响应:"
111
+ echo "$webdav_list_output"
112
 
113
  # 获取 WebDAV 目录中的文件列表并找出最新的备份文件
114
+ webdav_files=$(echo "$webdav_list_output" | grep -o '<d:href>[^<]*webui_[0-9][0-9]-[0-9][0-9]\.db</d:href>' | sed 's/<d:href>//g' | sed 's/<\/d:href>//g')
115
 
116
  if [ -n "$webdav_files" ]; then
117
  # 找出最新的文件 (按文件名排序,取最后一个)
118
  latest_file=$(echo "$webdav_files" | sort | tail -n 1)
119
  echo "找到最新的 WebDAV 备份文件: $latest_file"
120
 
121
+ # 构建并打印完整下载链接
122
+ download_url="$WEBDAV_URL$latest_file"
123
+ echo "下载 URL: $download_url"
124
+
125
  # 下载最新文件
126
+ curl -v -L --fail --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$download_url" -o "./data/webui.db" && {
127
  echo "成功从 WebDAV 下载最新数据库文件: $latest_file"
128
  # 上传到 HuggingFace
129
  timestamp=$(date +%Y%m%d_%H%M%S)
 
135
  } || {
136
  echo "从 WebDAV 下载最新文件失败,尝试下载 WebDAV 的 webui.db..."
137
 
138
+ # 打印 webui.db 下载链接
139
+ main_db_url="$WEBDAV_URL/openwebui/webui.db"
140
+ echo "尝试下载主数据库文件 URL: $main_db_url"
141
+
142
+ curl -v -L --fail --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$main_db_url" -o "./data/webui.db" && {
143
  echo "成功从 WebDAV 下载主数据库文件"
144
  # 上传到 HuggingFace
145
  timestamp=$(date +%Y%m%d_%H%M%S)
 
157
  }
158
  else
159
  echo "WebDAV 中没有找到符合格式的备份文件,尝试下载 webui.db..."
160
+
161
+ # 打印 webui.db 下载链接
162
+ main_db_url="$WEBDAV_URL/openwebui/webui.db"
163
+ echo "尝试下载主数据库文件 URL: $main_db_url"
164
+
165
+ curl -v -L --fail --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$main_db_url" -o "./data/webui.db" && {
166
  echo "成功从 WebDAV 下载主数据库文件"
167
  # 上传到 HuggingFace
168
  timestamp=$(date +%Y%m%d_%H%M%S)
 
194
  FILENAME="webui_$(date +'%m-%d_%H%M').db"
195
 
196
  echo "同步到 WebDAV..."
197
+ upload_url="$WEBDAV_URL/openwebui/$FILENAME"
198
+ echo "上传 URL: $upload_url"
199
 
200
  # 上传以日期命名的数据库文件
201
+ curl -v -L -T "./data/webui.db" --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$upload_url" && {
202
  echo "WebDAV 上传成功: $FILENAME"
203
 
204
  # 覆盖Webdav目录下默认的webui.db文件
205
+ main_file_url="$WEBDAV_URL/openwebui/webui.db"
206
+ echo "更新主文件 URL: $main_file_url"
207
+ curl -v -L -T "./data/webui.db" --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$main_file_url" && {
208
  echo "WebDAV 更新主文件成功"
209
  } || {
210
  echo "WebDAV 更新主文件失败"
 
212
  } || {
213
  echo "WebDAV 上传失败,等待重试..."
214
  sleep 10
215
+ echo "重试上传 URL: $upload_url"
216
+ curl -v -L -T "./data/webui.db" --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$upload_url" || {
217
  echo "重试失败,放弃上传。"
218
  }
219
  }
 
259
  # 后台启动同步进程
260
  webdav_sync &
261
  hf_sync &