fix: deploy-proxy.sh SMTP凭据写入使用grep+printf替代sed,避免密码特殊字符问题
Agent-Logs-Url: https://github.com/qinfendebingshuo/guanghulab/sessions/f9b09d73-b949-4f02-b3b9-2e69f90cd8b6 Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
This commit is contained in:
parent
faf2f28c7c
commit
d3965af623
|
|
@ -86,22 +86,24 @@ save_server_host() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 保存SMTP凭据 (如果有) — 使守护Agent和流量监控可发送告警邮件
|
# 保存SMTP凭据 (如果有) — 使守护Agent和流量监控可发送告警邮件
|
||||||
|
# 注: 使用删除+追加方式避免sed特殊字符问题 (密码常含|&/$等)
|
||||||
if [ -n "${ZY_SMTP_USER:-}" ] && [ -f "$KEYS_FILE" ]; then
|
if [ -n "${ZY_SMTP_USER:-}" ] && [ -f "$KEYS_FILE" ]; then
|
||||||
if grep -q "^ZY_SMTP_USER=" "$KEYS_FILE" 2>/dev/null; then
|
if grep -q "^ZY_SMTP_USER=" "$KEYS_FILE" 2>/dev/null; then
|
||||||
sed -i "s|^ZY_SMTP_USER=.*|ZY_SMTP_USER=${ZY_SMTP_USER}|" "$KEYS_FILE"
|
grep -v "^ZY_SMTP_USER=" "$KEYS_FILE" > "${KEYS_FILE}.tmp" && mv "${KEYS_FILE}.tmp" "$KEYS_FILE"
|
||||||
else
|
else
|
||||||
echo "" >> "$KEYS_FILE"
|
echo "" >> "$KEYS_FILE"
|
||||||
echo "# SMTP凭据 (部署时自动写入·守护Agent告警用)" >> "$KEYS_FILE"
|
echo "# SMTP凭据 (部署时自动写入·守护Agent告警用)" >> "$KEYS_FILE"
|
||||||
echo "ZY_SMTP_USER=${ZY_SMTP_USER}" >> "$KEYS_FILE"
|
|
||||||
fi
|
fi
|
||||||
|
printf '%s\n' "ZY_SMTP_USER=${ZY_SMTP_USER}" >> "$KEYS_FILE"
|
||||||
|
chmod 600 "$KEYS_FILE"
|
||||||
echo " ✅ ZY_SMTP_USER 已保存到 .env.keys"
|
echo " ✅ ZY_SMTP_USER 已保存到 .env.keys"
|
||||||
fi
|
fi
|
||||||
if [ -n "${ZY_SMTP_PASS:-}" ] && [ -f "$KEYS_FILE" ]; then
|
if [ -n "${ZY_SMTP_PASS:-}" ] && [ -f "$KEYS_FILE" ]; then
|
||||||
if grep -q "^ZY_SMTP_PASS=" "$KEYS_FILE" 2>/dev/null; then
|
if grep -q "^ZY_SMTP_PASS=" "$KEYS_FILE" 2>/dev/null; then
|
||||||
sed -i "s|^ZY_SMTP_PASS=.*|ZY_SMTP_PASS=${ZY_SMTP_PASS}|" "$KEYS_FILE"
|
grep -v "^ZY_SMTP_PASS=" "$KEYS_FILE" > "${KEYS_FILE}.tmp" && mv "${KEYS_FILE}.tmp" "$KEYS_FILE"
|
||||||
else
|
|
||||||
echo "ZY_SMTP_PASS=${ZY_SMTP_PASS}" >> "$KEYS_FILE"
|
|
||||||
fi
|
fi
|
||||||
|
printf '%s\n' "ZY_SMTP_PASS=${ZY_SMTP_PASS}" >> "$KEYS_FILE"
|
||||||
|
chmod 600 "$KEYS_FILE"
|
||||||
echo " ✅ ZY_SMTP_PASS 已保存到 .env.keys"
|
echo " ✅ ZY_SMTP_PASS 已保存到 .env.keys"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue