feat: deploy UseSAC fallback by default on install and script upgrade

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
PTah
2026-06-03 09:15:22 +10:00
parent df77d8763f
commit 3d0876bb0b
2 changed files with 28 additions and 3 deletions
+27 -2
View File
@@ -137,7 +137,7 @@ ensure_ssh_monitor_config_from_example() {
cp "$CONFIG_FILE" "${CONFIG_FILE}.bak.$(date +%Y%m%d_%H%M%S)" 2>/dev/null || true
log_message "INFO" "Upgrading config without SAC: backup created, applying ssh-monitor.conf.example from git."
if [ "$DEPLOY_MODE" -eq 1 ]; then
say_info "Апгрейд без SAC: резервная копия, применяем example (Telegram + dual)."
say_info "Апгрейд без SAC: резервная копия, применяем example (Telegram + fallback)."
fi
else
log_message "INFO" "Creating $CONFIG_FILE from ssh-monitor.conf.example"
@@ -155,6 +155,25 @@ ensure_ssh_monitor_config_from_example() {
return 0
}
sync_use_sac_fallback_mode() {
local file="$CONFIG_FILE"
[ -f "$file" ] || return 1
if grep -qE '^[[:space:]]*UseSAC=[[:space:]]*["'"'"']?fallback["'"'"']?[[:space:]]*(#.*)?$' "$file" 2>/dev/null; then
return 1
fi
if ! grep -qE '^[[:space:]]*UseSAC=' "$file" 2>/dev/null; then
return 1
fi
cp "$file" "${file}.bak.$(date +%Y%m%d_%H%M%S)" 2>/dev/null || true
sed -i -E 's/^[[:space:]]*UseSAC=.*/UseSAC="fallback"/' "$file"
log_message "INFO" "Config $file: UseSAC set to fallback (deploy policy on script upgrade)."
if [ "$DEPLOY_MODE" -eq 1 ]; then
say_info "UseSAC=fallback (рабочий режим SAC + локальный fallback)."
fi
CONFIG_CHANGED=1
return 0
}
parse_command_line() {
DEPLOY_MODE=0
while [ $# -gt 0 ]; do
@@ -945,7 +964,13 @@ update_script() {
if [ "$DEPLOY_MODE" -eq 1 ]; then
script_changed=1
elif [ "$script_changed" -eq 1 ] || [ "${SAC_CLIENT_CHANGED:-0}" -eq 1 ] || [ "${CONFIG_CHANGED:-0}" -eq 1 ]; then
fi
if [ "$script_changed" -eq 1 ]; then
sync_use_sac_fallback_mode || true
fi
if [ "$script_changed" -eq 1 ] || [ "${SAC_CLIENT_CHANGED:-0}" -eq 1 ] || [ "${CONFIG_CHANGED:-0}" -eq 1 ]; then
restart_ssh_monitor_service
else
log_action "перезапуск сервиса не нужен (ни один файл не изменился)"