mao123qw commited on
Commit
ea3cce3
·
verified ·
1 Parent(s): 5b34f9d

Update install_reader.sh

Browse files
Files changed (1) hide show
  1. install_reader.sh +9 -39
install_reader.sh CHANGED
@@ -2,12 +2,6 @@
2
 
3
  set -euo pipefail
4
 
5
- # 检查WebDAV环境变量
6
- if [[ -z "${WEBDAV_URL}" || -z "${WEBDAV_USER}" || -z "${WEBDAV_PASS}" ]]; then
7
- echo "错误:必须设置WEBDAV_URL、WEBDAV_USER、WEBDAV_PASS环境变量"
8
- exit 1
9
- fi
10
-
11
  # 获取最新版本的重定向URL
12
  echo "正在获取最新版本信息..."
13
  redirect_url=$(curl -Ls -o /dev/null -w '%{url_effective}' 'https://github.com/hectorqin/reader/releases/latest')
@@ -36,47 +30,23 @@ zip_file="reader-server-${version}.zip"
36
  echo "正在解压文件..."
37
  unzip "$zip_file"
38
 
39
- # +x权限
40
  find . -type f -exec chmod +x {} +
41
 
42
- # 数据恢复逻辑
43
- DATA_DIR="./storage"
44
- if [ ! -d "${DATA_DIR}" ] || [ -z "$(ls -A ${DATA_DIR})" ]; then
45
- echo "数据目录不存在或为空,尝试从WebDAV恢复备份..."
46
- if curl -u "${WEBDAV_USER}:${WEBDAV_PASS}" "${WEBDAV_URL}/latest-backup.tar.gz" -o /tmp/latest-backup.tar.gz; then
47
- echo "下载备份成功,正在解压..."
48
- mkdir -p "${DATA_DIR}"
49
- tar -xzf /tmp/latest-backup.tar.gz -C "${DATA_DIR}" 2>/dev/null || true
50
- echo "数据恢复完成"
51
- else
52
- echo "警告:无法下载备份文件,将使用空数据目录启动"
53
- fi
54
- else
55
- echo "数据目录已存在,跳过恢复"
56
  fi
57
 
58
- # 启动定时备份任务
59
- echo "启动定时备份任务,每半小时备份一次到WebDAV..."
60
- (
61
- while true; do
62
- sleep 1800
63
- echo "$(date '+%Y-%m-%d %T'): 开始备份数据..."
64
- BACKUP_FILE="/tmp/backup-$(date +%Y%m%d%H%M%S).tar.gz"
65
- tar -czf "${BACKUP_FILE}" -C "${DATA_DIR}" . >/dev/null 2>&1
66
- curl -u "${WEBDAV_USER}:${WEBDAV_PASS}" -T "${BACKUP_FILE}" "${WEBDAV_URL}/backup/$(basename "${BACKUP_FILE}")" --silent
67
- curl -u "${WEBDAV_USER}:${WEBDAV_PASS}" -T "${BACKUP_FILE}" "${WEBDAV_URL}/latest-backup.tar.gz" --silent
68
- rm -f "${BACKUP_FILE}"
69
- echo "$(date '+%Y-%m-%d %T'): 备份完成"
70
- done
71
- ) &
72
-
73
  # 执行启动脚本
74
- if [ -f "./bin/startup.sh" ]; then
75
  echo "正在启动服务..."
76
- chmod +x "./bin/startup.sh"
77
- cd bin
78
  ./startup.sh -m single
79
  echo "服务已启动!"
 
80
  else
81
  echo "错误:启动脚本不存在"
82
  exit 1
 
2
 
3
  set -euo pipefail
4
 
 
 
 
 
 
 
5
  # 获取最新版本的重定向URL
6
  echo "正在获取最新版本信息..."
7
  redirect_url=$(curl -Ls -o /dev/null -w '%{url_effective}' 'https://github.com/hectorqin/reader/releases/latest')
 
30
  echo "正在解压文件..."
31
  unzip "$zip_file"
32
 
33
+ #+x
34
  find . -type f -exec chmod +x {} +
35
 
36
+ # 处理解压目录结构
37
+ dir_name=$(unzip -Z -1 "$zip_file" | head -n1 | cut -d '/' -f1)
38
+ if [ -n "$dir_name" ]; then
39
+ echo "进入解压目录: $dir_name"
40
+ cd "$dir_name"
 
 
 
 
 
 
 
 
 
41
  fi
42
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  # 执行启动脚本
44
+ if [ -f "./startup.sh" ]; then
45
  echo "正在启动服务..."
46
+ chmod +x "./startup.sh"
 
47
  ./startup.sh -m single
48
  echo "服务已启动!"
49
+ tail -f /app/logs/start.out
50
  else
51
  echo "错误:启动脚本不存在"
52
  exit 1