Archive from April, 2012
* Posílání chybových hlášek na mail
22. April 2012, Jakub Horák. Zařazeno mezi Unassigned.
Včera jsem zjistil, že mám poškozený filesystém na zálohovacím disku. Oprava byla jednoduchá, stačilo pustit fsck
, ale nepříjemné bylo, že jsem se o problému dozvěděl úplně náhodou, až při ručním spustění zálohy před velkou aktualizací systému. Aby se již podobná situace neopakovala, nastavil jsem démona syslog-ng, aby mi posílal chybové hlášky na mail. Když se vyskytne problém, může se ale zalogovat mnoho chyb najednou, a tak mi zanedlouho přišlo cca 300 mailů. Abych podobnému zahlcení do budoucna zabránil, napsal jsem následující skript, který pošle nejvýše jeden mail každých pět minut.
#!/bin/bash # # ./bin/syslog-mail.sh # Posilat nejvyse jednu hlasku za pet minut # TO='xy@xy.cz' FROM=$TO last=`cat /var/tmp/syslog-mail-last-sent 2>/dev/null` let last=last+300 now=`date +%s` if [ "$last" -lt "$now" ]; then read logline logline=${logline/+([0-9<>])} if [ "$logline" == "" ]; then exit 0 fi /usr/sbin/sendmail -t <<EOT To: $TO From: $FROM Subject: Log Alert: $logline $logline `while read logline; do logline=${logline/+([0-9<>])} echo $logline done` -- This is an automatically generated message from $HOSTNAME EOT echo "$now" > /var/tmp/syslog-mail-last-sent fi |
Do /etc/syslog-ng/syslog-ng.conf
jsem přidal tato pravidla:
destination mail-alert { program("/home/kuba/bin/syslog-mail"); }; filter f_error { not facility (mail) and level(err,crit,emerg); }; log { source(src); filter(f_error); destination(mail-alert); }; |
Archives
- March 2024
- October 2023
- May 2020
- December 2018
- October 2018
- July 2017
- April 2017
- March 2017
- November 2016
- April 2016
- March 2016
- November 2014
- September 2014
- May 2014
- March 2014
- February 2014
- August 2013
- June 2013
- April 2012
- August 2011
- May 2011
- October 2010
- September 2010
- August 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- April 2009
- January 2009
- December 2008
- October 2008
- September 2008