@@ -11,6 +11,11 @@ PID_FILE="/tmp/autobangumi.pid"
1111cleanup () {
1212 echo " 收到停止信号,正在清理..."
1313 SHOULD_STOP=true
14+
15+ # 清理更新相关标志文件
16+ rm -f " /tmp/auto_bangumi_update_ready.flag"
17+ rm -f " /tmp/auto_bangumi_update.lock"
18+
1419 if [ -f " $PID_FILE " ]; then
1520 pid=$( cat " $PID_FILE " )
1621 if [ -n " $pid " ]; then
@@ -58,11 +63,11 @@ while [ "$SHOULD_STOP" != "true" ]; do
5863 elif [ $exit_code -eq 0 ]; then
5964 echo " 应用正常退出,2秒后重启(热更新)..."
6065 sleep 2
61-
66+
6267 # 在Python进程完全退出后检查更新标志
6368 if [ -f " /tmp/auto_bangumi_update_ready.flag" ]; then
6469 echo " 检测到更新标志,执行文件替换..."
65-
70+
6671 # 读取更新信息
6772 extract_path=$( python3 -c "
6873import json
7378except:
7479 print('')
7580" 2> /dev/null || echo " " )
76-
81+
7782 if [ -n " $extract_path " ] && [ -d " $extract_path " ]; then
7883 echo " 从 $extract_path 更新应用文件..."
79-
84+
8085 # 更新 src 目录
8186 if [ -d " $extract_path /src" ]; then
8287 echo " 更新 src 目录..."
8388 rm -rf /app/src.old 2> /dev/null || true
8489 [ -d " /app/src" ] && mv /app/src /app/src.old
8590 cp -r " $extract_path /src" /app/src && echo " src 目录更新成功"
8691 fi
87-
88- # 更新 dist 目录
92+
93+ # 更新 dist 目录
8994 if [ -d " $extract_path /dist" ]; then
9095 echo " 更新 dist 目录..."
9196 rm -rf /app/dist.old 2> /dev/null || true
92- [ -d " /app/dist" ] && mv /app/dist /app/dist.old
97+ [ -d " /app/dist" ] && mv /app/dist /app/dist.old
9398 cp -r " $extract_path /dist" /app/dist && echo " dist 目录更新成功"
9499 fi
95-
100+
96101 # 修复权限并清理
97102 chown -R ab:ab /app/src /app/dist 2> /dev/null || true
98103 rm -rf /app/src.old /app/dist.old " $extract_path " 2> /dev/null || true
99104 echo " 文件替换完成!"
100105 else
101- echo " 无效的更新路径: $extract_path "
106+ echo " 无效的更新路径: $extract_path "
102107 fi
103-
108+
104109 # 删除更新标志文件
105110 rm -f " /tmp/auto_bangumi_update_ready.flag"
106111 echo " 更新处理完成,启动新版本..."
107112 fi
108113 else
109114 echo " 应用异常退出 (退出码: $exit_code ),停止容器"
115+ # 手动清理更新标志文件
116+ rm -f " /tmp/auto_bangumi_update_ready.flag"
117+ rm -f " /tmp/auto_bangumi_update.lock"
110118 exit $exit_code
111119 fi
112120done
0 commit comments