Archive from April, 2012
* Posílání chybových hlášek na mail
22. April 2012, Jakub Horák. Categorized as 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
- July 2025
- 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
