feat(deploy): sync SERVER_IPV4 hint and DAILY_REPORT_ENABLED on update (2.1.3-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+1
-1
@@ -7,7 +7,7 @@ IFS=$'\n\t'
|
||||
# ============================================
|
||||
|
||||
CONFIG_FILE="/etc/ssh-monitor.conf"
|
||||
SSH_MONITOR_VERSION="2.1.2-SAC"
|
||||
SSH_MONITOR_VERSION="2.1.3-SAC"
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
if [ -f "$SCRIPT_DIR/sac-client.sh" ]; then
|
||||
|
||||
@@ -237,6 +237,53 @@ config_key_exists() {
|
||||
grep -qE "^[[:space:]]*${key}=" "$file" 2>/dev/null
|
||||
}
|
||||
|
||||
config_key_mentioned() {
|
||||
local key="$1" file="$2"
|
||||
grep -qE "^[[:space:]]*(#.*)?${key}=" "$file" 2>/dev/null
|
||||
}
|
||||
|
||||
sync_server_ipv4_hint_config() {
|
||||
local file="$CONFIG_FILE" backed_up=0
|
||||
|
||||
[ -f "$file" ] || return 1
|
||||
if config_key_mentioned "SERVER_IPV4" "$file"; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
backup_config_if_needed "$file" backed_up
|
||||
{
|
||||
printf '\n# --- Явный IPv4 для SAC host.ipv4 (раскомментируйте при необходимости) ---\n'
|
||||
printf '# SERVER_IPV4="10.0.0.10"\n'
|
||||
} >>"$file"
|
||||
log_message "INFO" "Config $file: добавлена подсказка # SERVER_IPV4."
|
||||
CONFIG_CHANGED=1
|
||||
return 0
|
||||
}
|
||||
|
||||
sync_daily_report_enabled_config() {
|
||||
local file="$CONFIG_FILE" backed_up=0 current
|
||||
|
||||
[ -f "$file" ] || return 1
|
||||
if config_key_exists "DAILY_REPORT_ENABLED" "$file"; then
|
||||
current=$(config_conf_value "DAILY_REPORT_ENABLED" "$file" 2>/dev/null || true)
|
||||
if [ "$current" = "1" ]; then
|
||||
return 1
|
||||
fi
|
||||
backup_config_if_needed "$file" backed_up
|
||||
set_config_kv "DAILY_REPORT_ENABLED" "1" "$file"
|
||||
log_message "INFO" "Config $file: DAILY_REPORT_ENABLED ${current:-<пусто>} → 1 (отчёт с агента)."
|
||||
else
|
||||
backup_config_if_needed "$file" backed_up
|
||||
{
|
||||
printf '\n# --- Суточный отчёт report.daily.ssh (1 = с агента; 0 = только SAC) ---\n'
|
||||
printf 'DAILY_REPORT_ENABLED="1"\n'
|
||||
} >>"$file"
|
||||
log_message "INFO" "Config $file: добавлен DAILY_REPORT_ENABLED=1."
|
||||
fi
|
||||
CONFIG_CHANGED=1
|
||||
return 0
|
||||
}
|
||||
|
||||
append_heartbeat_interval_block() {
|
||||
local file="$1"
|
||||
{
|
||||
@@ -804,6 +851,8 @@ deploy_install_config() {
|
||||
ensure_ssh_monitor_config_file || return 1
|
||||
sync_sac_config_keys || true
|
||||
sync_heartbeat_interval_config || true
|
||||
sync_server_ipv4_hint_config || true
|
||||
sync_daily_report_enabled_config || true
|
||||
}
|
||||
|
||||
deploy_install_systemd() {
|
||||
@@ -1157,6 +1206,8 @@ update_script() {
|
||||
SUMMARY_CONFIG="SAC без изменений"
|
||||
fi
|
||||
sync_heartbeat_interval_config || true
|
||||
sync_server_ipv4_hint_config || true
|
||||
sync_daily_report_enabled_config || true
|
||||
if [ "${CONFIG_CHANGED:-0}" -eq 1 ] && [ "$SUMMARY_CONFIG" = "SAC без изменений" ]; then
|
||||
SUMMARY_CONFIG="heartbeat/watchdog выровнены"
|
||||
elif [ "${CONFIG_CHANGED:-0}" -eq 1 ] && [ "$SUMMARY_CONFIG" != "SAC без изменений" ]; then
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
2.1.2-SAC
|
||||
2.1.3-SAC
|
||||
|
||||
Reference in New Issue
Block a user