From b45fca8c15131d12df4311f393114e2ea9489872 Mon Sep 17 00:00:00 2001 From: Sergey Revyakin Date: Wed, 18 Feb 2026 13:08:44 +0700 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=20=D1=80=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D1=80=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- restart_all.sh | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100755 restart_all.sh diff --git a/restart_all.sh b/restart_all.sh new file mode 100755 index 0000000..0955a95 --- /dev/null +++ b/restart_all.sh @@ -0,0 +1,72 @@ +#!/usr/bin/env bash +set -Eeuo pipefail + +PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +COMPOSE_FILE="${PROJECT_ROOT}/deploy/docker/docker-compose.yml" + +SDR_UNITS=( + dronedetector-sdr-433.service + dronedetector-sdr-750.service + dronedetector-sdr-868.service + dronedetector-sdr-3300.service + dronedetector-sdr-4500.service + dronedetector-sdr-5200.service + dronedetector-sdr-5800.service + dronedetector-sdr-915.service + dronedetector-sdr-1200.service + dronedetector-sdr-2400.service +) + +log() { + printf '[restart_all] %s\n' "$*" +} + +if [[ -x /usr/bin/sudo ]]; then + SUDO=(sudo) +else + SUDO=() +fi + +restart_docker_services() { + log "Restarting Docker services (without build)" + + if [[ -f "$COMPOSE_FILE" ]]; then + docker compose -f "$COMPOSE_FILE" up -d + else + log "Compose file not found: $COMPOSE_FILE" + fi + + if ${SUDO[@]} systemctl list-unit-files dronedetector-compose.service >/dev/null 2>&1; then + ${SUDO[@]} systemctl restart dronedetector-compose.service || true + fi +} + +restart_sdr_services() { + log "Restarting SDR systemd units" + for unit in "${SDR_UNITS[@]}"; do + ${SUDO[@]} systemctl restart "$unit" + done +} + +print_status() { + log "Docker status" + docker compose -f "$COMPOSE_FILE" ps || true + + log "SDR status" + for unit in "${SDR_UNITS[@]}"; do + if ${SUDO[@]} systemctl is-active --quiet "$unit"; then + printf '%s: active\n' "$unit" + else + printf '%s: NOT active\n' "$unit" + fi + done +} + +main() { + restart_docker_services + restart_sdr_services + print_status + log "Done" +} + +main "$@"