update at 2026-07-26 10:52:38
This commit is contained in:
21
deploy.sh
21
deploy.sh
@@ -47,13 +47,19 @@ load_sudo_password() {
|
|||||||
|
|
||||||
local line secret='' plain_lines=()
|
local line secret='' plain_lines=()
|
||||||
while IFS= read -r line || [[ -n "$line" ]]; do
|
while IFS= read -r line || [[ -n "$line" ]]; do
|
||||||
case "$line" in
|
if [[ "$line" =~ ^[[:space:]]*(MYWEB_SUDO_PASSWORD|SUDO_PASSWORD|MYWEB_PASS)[[:space:]]*=[[:space:]]*(.*)$ ]]; then
|
||||||
MYWEB_SUDO_PASSWORD=*|SUDO_PASSWORD=*) secret="${line#*=}" ;;
|
secret="${BASH_REMATCH[2]}"
|
||||||
''|'#'*) ;;
|
elif [[ -z "${line//[[:space:]]/}" || "$line" == \#* ]]; then
|
||||||
*) plain_lines+=("$line") ;;
|
continue
|
||||||
esac
|
else
|
||||||
|
plain_lines+=("$line")
|
||||||
|
fi
|
||||||
done < .env
|
done < .env
|
||||||
|
|
||||||
|
# 去除键值分隔符附近的空白,避免 `KEY = value` 将空格传给 sudo。
|
||||||
|
secret="${secret#"${secret%%[![:space:]]*}"}"
|
||||||
|
secret="${secret%"${secret##*[![:space:]]}"}"
|
||||||
|
|
||||||
if [[ -z "$secret" && ${#plain_lines[@]} -eq 1 ]]; then
|
if [[ -z "$secret" && ${#plain_lines[@]} -eq 1 ]]; then
|
||||||
secret="${plain_lines[0]}"
|
secret="${plain_lines[0]}"
|
||||||
fi
|
fi
|
||||||
@@ -144,8 +150,9 @@ apply_nginx_and_restart() {
|
|||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
load_sudo_password
|
load_sudo_password
|
||||||
log_info '从 .env 读取 sudo 密码,用于安装配置、校验并重载 Nginx。'
|
log_info '使用 .env 中的凭据执行 Nginx 配置与服务重启。'
|
||||||
printf '%s\n' "$MYWEB_SUDO_PASSWORD" | ssh -tt -o ConnectTimeout=12 "$SERVER_WEB" "sudo -S -p '' install -m 644 '$REMOTE_WORKDIR/fonts.conf' /etc/nginx/conf.d/fonts.conf && sudo -S -p '' nginx -t && sudo -S -p '' systemctl reload nginx && sudo -S -p '' systemctl restart font2svg-api"
|
# 禁用伪终端,避免标准输入中的敏感内容被远端终端回显。
|
||||||
|
printf '%s\n' "$MYWEB_SUDO_PASSWORD" | ssh -T -o ConnectTimeout=12 "$SERVER_WEB" "sudo -S -p '' bash -lc 'install -m 644 \"$REMOTE_WORKDIR/fonts.conf\" /etc/nginx/conf.d/fonts.conf && nginx -t && systemctl reload nginx && systemctl restart font2svg-api'"
|
||||||
log_ok 'Nginx 已重载,Font2SVG API 已重启'
|
log_ok 'Nginx 已重载,Font2SVG API 已重启'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user