fix(运维脚本): clear-sessions.sh 补上 dash 垫片
Some checks failed
Deploy / deploy (push) Has been cancelled

`sh docker/clear-sessions.sh` 在 Debian 上会用 dash 跑(/bin/sh 就是它),
第 34 行的 `set -euo pipefail` 里 pipefail 是 bash 专有的,脚本一上来就死在
`Illegal option -o pipefail`,正事一件没干。deploy.sh 里早就有同一道垫片,
写这个脚本时漏抄了。

实跑验证(dev 栈,`sh docker/clear-sessions.sh`):垫片生效后跑到容器探活
那步正常报错;`CONTAINER=oj2-redis YES=1 sh docker/clear-sessions.sh` 全程
走通 —— session:* 删 101 个、user-sessions:* 删 4 个、bull:* 前后都是 57 个
(dbsize 162 → 57,判题队列一个键没动)。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XvmqDsZNyUo9P3sFQtoWVB
This commit is contained in:
2026-09-07 18:49:24 -06:00
parent 5d60bb15bb
commit ddc3f05bc3

View File

@@ -31,6 +31,11 @@
# CONTAINER=oj2-redis docker/clear-sessions.sh # 本机 dev # CONTAINER=oj2-redis docker/clear-sessions.sh # 本机 dev
# YES=1 docker/clear-sessions.sh # 跳过确认 # YES=1 docker/clear-sessions.sh # 跳过确认
# #
# `sh docker/clear-sessions.sh` 会用 dash 跑Debian 的 /bin/sh 就是 dash而下面
# 那行的 pipefail 是 bash 专有的,一上来就报 `Illegal option -o pipefail`。
# 这行必须在 set 之前,且只能用 dash 也认的语法。deploy.sh 里是同一道垫片。
[ -n "${BASH_VERSION:-}" ] || exec bash "$0" "$@"
set -euo pipefail set -euo pipefail
CONTAINER="${CONTAINER:-oj-redis}" CONTAINER="${CONTAINER:-oj-redis}"