🔁 Циклический мониторинг статуса сервиса с логированием Иногда нужно следить за работой сервиса в режиме реального времени и при сбое — сразу зафиксир…
Иногда нужно следить за работой сервиса в режиме реального времени и при сбое — сразу зафиксировать проблему. Вот простой скрипт, который будет каждые 30 секунд проверять статус сервиса и писать лог при ошибке:
#!/bin/bash
SERVICE="nginx"
LOGFILE="/var/log/${SERVICE}_monitor.log"
INTERVAL=30
while true; do
if ! systemctl is-active --quiet "$SERVICE"; then
echo "$(date '+%Y-%m-%d %H:%M:%S') ❌ $SERVICE is down" >> "$LOGFILE"
# можно добавить уведомление (например, через телеграм-бота или почту)
else
echo "$(date '+%Y-%m-%d %H:%M:%S') ✅ $SERVICE is running" >> "$LOGFILE"
fi
sleep "$INTERVAL"
done
📌 Скрипт можно добавить в screen или tmux сессию и запустить на сервере - он будет вести лог доступности нужного сервиса.
🛡️ Подходит для мониторинга nginx, mysql, sshd и других системных демонов.
👉 @bash_srv