Spaces:
Runtime error
Runtime error
Update install_reader.sh
Browse files- 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 |
-
|
| 40 |
find . -type f -exec chmod +x {} +
|
| 41 |
|
| 42 |
-
#
|
| 43 |
-
|
| 44 |
-
if [
|
| 45 |
-
echo "
|
| 46 |
-
|
| 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 "./
|
| 75 |
echo "正在启动服务..."
|
| 76 |
-
chmod +x "./
|
| 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
|