42 lines
1.1 KiB
Bash
42 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
aw_host="${DETMIR_AW_SSH_HOST:-igor@192.0.2.13}"
|
|
|
|
ssh -o BatchMode=yes \
|
|
-o ConnectTimeout=10 \
|
|
-o StrictHostKeyChecking=accept-new \
|
|
"$aw_host" \
|
|
'bash -s' <<'REMOTE'
|
|
set -euo pipefail
|
|
|
|
services=(
|
|
activitywatch-server.service
|
|
aw-worktime-api.service
|
|
aw-worktime-ui-bridge.service
|
|
activitywatch-dlp-aggregator.service
|
|
)
|
|
|
|
sudo -n systemctl reset-failed "${services[@]}" >/dev/null 2>&1 || true
|
|
|
|
for service in activitywatch-server.service aw-worktime-api.service aw-worktime-ui-bridge.service; do
|
|
if ! systemctl is-active --quiet "$service"; then
|
|
echo "restart $service"
|
|
sudo -n systemctl restart "$service"
|
|
else
|
|
echo "active $service"
|
|
fi
|
|
done
|
|
|
|
if systemctl list-unit-files activitywatch-dlp-aggregator.service >/dev/null 2>&1; then
|
|
if ! systemctl is-active --quiet activitywatch-dlp-aggregator.service; then
|
|
echo "start activitywatch-dlp-aggregator.service"
|
|
sudo -n systemctl start activitywatch-dlp-aggregator.service || true
|
|
else
|
|
echo "active activitywatch-dlp-aggregator.service"
|
|
fi
|
|
fi
|
|
|
|
sudo -n /usr/local/bin/dlp-health-check --json >/tmp/detmir-heal-dlp-health.json || true
|
|
REMOTE
|