flzta commited on
Commit
4a792c4
·
verified ·
1 Parent(s): 31f2318

Update sync_data.sh

Browse files
Files changed (1) hide show
  1. sync_data.sh +11 -19
sync_data.sh CHANGED
@@ -1,10 +1,5 @@
1
  #!/bin/bash
2
 
3
- echo "sync_data.sh script started at $(date)"
4
-
5
- # 设置 app 的默认名称 (与 Dockerfile 中一致)
6
- # APP_NAME=${APP_NAME:-"app"} # 去掉 APP_NAME 变量
7
-
8
  # 检查环境变量
9
  if [[ -z "$WEBDAV_URL" ]] || [[ -z "$WEBDAV_USERNAME" ]] || [[ -z "$WEBDAV_PASSWORD" ]]; then
10
  echo "Starting without backup functionality - missing WEBDAV_URL, WEBDAV_USERNAME, or WEBDAV_PASSWORD"
@@ -22,7 +17,7 @@ fi
22
  # 激活虚拟环境
23
  source /opt/venv/bin/activate
24
 
25
- # 设置 app 数据目录
26
  APP_DATA_DIR="/opt/app/app_data"
27
 
28
  # 下载最新备份并恢复
@@ -59,24 +54,21 @@ with requests.get(f'$FULL_WEBDAV_URL/{latest_backup}', auth=('$WEBDAV_USERNAME',
59
  shutil.rmtree('$APP_DATA_DIR')
60
  os.makedirs('$APP_DATA_DIR', exist_ok=True)
61
 
62
- # 解压备份文件
63
- with tarfile.open(f'/tmp/{latest_backup}', 'r:gz') as tar:
64
- tar.extractall('$APP_DATA_DIR')
65
 
66
- print(f'成功从 {latest_backup} 恢复备份')
 
 
67
  else:
68
  print(f'下载备份失败:{r.status_code}')
69
  "
70
  }
71
 
72
  # 首次启动时下载最新备份
73
- echo "Checking for existing app data directory..."
74
- if [ ! -d "$APP_DATA_DIR" ]; then
75
- echo "App data directory does not exist. Downloading latest backup from WebDAV..."
76
- restore_backup
77
- else:
78
- echo "App data directory already exists. Skipping initial backup download."
79
- fi
80
 
81
  # 同步函数
82
  sync_data() {
@@ -94,7 +86,7 @@ sync_data() {
94
  curl -u "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" -T "/tmp/${backup_file}" "$FULL_WEBDAV_URL/${backup_file}"
95
  if [ $? -eq 0 ]; then
96
  echo "Successfully uploaded ${backup_file} to WebDAV"
97
- else
98
  echo "Failed to upload ${backup_file} to WebDAV"
99
  fi
100
 
@@ -121,7 +113,7 @@ else:
121
 
122
  rm -f "/tmp/${backup_file}"
123
  else:
124
- echo "App data directory does not exist yet, waiting for next sync..."
125
  fi
126
 
127
  SYNC_INTERVAL=${SYNC_INTERVAL:-600}
 
1
  #!/bin/bash
2
 
 
 
 
 
 
3
  # 检查环境变量
4
  if [[ -z "$WEBDAV_URL" ]] || [[ -z "$WEBDAV_USERNAME" ]] || [[ -z "$WEBDAV_PASSWORD" ]]; then
5
  echo "Starting without backup functionality - missing WEBDAV_URL, WEBDAV_USERNAME, or WEBDAV_PASSWORD"
 
17
  # 激活虚拟环境
18
  source /opt/venv/bin/activate
19
 
20
+ # 设置 Cloudreve 数据目录 (根据您的实际情况,如果您的应用需要特定的数据目录,请修改这里)
21
  APP_DATA_DIR="/opt/app/app_data"
22
 
23
  # 下载最新备份并恢复
 
54
  shutil.rmtree('$APP_DATA_DIR')
55
  os.makedirs('$APP_DATA_DIR', exist_ok=True)
56
 
57
+ # 解压备份文件
58
+ with tarfile.open(f'/tmp/{latest_backup}', 'r:gz') as tar:
59
+ tar.extractall('$APP_DATA_DIR')
60
 
61
+ print(f'成功从 {latest_backup} 恢复备份')
62
+ else:
63
+ print('下载的备份文件不存在')
64
  else:
65
  print(f'下载备份失败:{r.status_code}')
66
  "
67
  }
68
 
69
  # 首次启动时下载最新备份
70
+ echo "Downloading latest backup from WebDAV..."
71
+ restore_backup
 
 
 
 
 
72
 
73
  # 同步函数
74
  sync_data() {
 
86
  curl -u "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" -T "/tmp/${backup_file}" "$FULL_WEBDAV_URL/${backup_file}"
87
  if [ $? -eq 0 ]; then
88
  echo "Successfully uploaded ${backup_file} to WebDAV"
89
+ else:
90
  echo "Failed to upload ${backup_file} to WebDAV"
91
  fi
92
 
 
113
 
114
  rm -f "/tmp/${backup_file}"
115
  else:
116
+ echo "Data directory does not exist yet, waiting for next sync..."
117
  fi
118
 
119
  SYNC_INTERVAL=${SYNC_INTERVAL:-600}