Обычный
tail -f - это пассивный просмотр. Но его легко превратить в активный мониторинг, который сам уведомит вас о проблеме.Мы будем читать лог в реальном времени, искать по нужному шаблону и отправлять уведомление. Это отлично подойдет на случай, когда ошибку нужно отловить разово и не нужно городить новый пробник в забиксе.
▪️ Простой пример
LOG="/var/log/myapp/error.log"
PATTERN="ERROR|CRITICAL|FATAL"
tail -F "$LOG" | grep --line-buffered -E "$PATTERN" | while read -r line; do
echo "[$(date)] $line" | mail -s "Ошибка в логе" admin@bashtex.com
done
▪️ Десктоп-уведомление
tail -F "$LOG" | grep --line-buffered "ERROR" | while read -r line; do
notify-send "Ошибка в логе" "$line"
done
▪️ Полезные детали
-F - переживает logrotate и пересоздание файла--line-buffered - мгновенная реакция, без задержекgrep -E - несколько шаблонов сразуwhile read - обработка построчно без потери данныхBashTex 📱 #bash #utils