feat: deploy UseSAC fallback by default on install and script upgrade
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+27
-2
@@ -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 "перезапуск сервиса не нужен (ни один файл не изменился)"
|
||||
|
||||
Reference in New Issue
Block a user