Zachciało mi się otrzymywać maila podsumowującego dzień pracy mojego systemu. Trafiłem na dwa programy Logwatch (właściwie będący zbiorem skryptów) oraz Logcheck będący częścią app-admin/logsentry. Opiszę ten pierwszy ponieważ nie wymaga większej konfiguracji po zainstalowaniu by otrzymywać w miarę satysfakcjonujące podsumowania.

Zacznijmy od tego że będzie nam potrzebne coś do wysyłania maili. W moim przypadku skorzystałem ssmtp, bo już było, a jeśli nie ma to

# emerge mail-mta/ssmtp

oczywiście można skorzystać też z innego agenta przesyłania poczty. Skrzynkę mam na gmailu więc konfiguracja jest pod pasowana pod wymogi serwera smpt googla. W pliku /etc/ssmtp/ssmtp.conf powinno się znaleźć:

mailhub=smtp.gmail.com:587

rewriteDomain=

#Ma być właśnie UseSTARTTLS a nie inne dostępne opcje z TLS
UseSTARTTLS=YES

AuthUser=nazwa_uzytkownika@gmail.com
AuthPass=twoje_hasło 
FromLineOverride=YES

Dopisujemy jeszcze do /etc/ssmtp/revaliases

root:nazwa_uzytkownika@gmail.com:smtp.gmail.com:587

Maile możemy już wysyłać więc czas zająć się samym logowaniem

# emerge logwatch 

Kopiujemy zawartość /usr/share/logwatch/ do /etc/logwatch (pozwoli to zachować oryginalną konfigurację, a pod uwagę brane będą ustawienia z /etc/logwatch)

# cp -R /usr/share/logwatch/ /etc

Nazwę folderu /etc/logwatch/default.conf zmieniamy na conf i przystępujemy do edycji /etc/logwatch/conf/logwatch.conf w którym to powinny znaleźć się następujące opcje

LogDir = /var/log
TmpDir = /var/cache/logwatch
MailTo = nazwa_uzytkownika@gmail.com
MailFrom = Logwatch
Print = No
#mail będzie wysyłany po północy, i ma dotyczyć dni minionego więc:
Range = yesterday
#tu wybieramy szczegółowość raportu, dostępne są trzy poziomy: Low = 0, Med = 5, High = 10
Detail = 5
Service = All
mailer = "sendmail -t"

Mamy już skonfigurowanego logwatch-a więc trzeba sprawić by uruchamiał się o zadanej porze, zbierał informacje z logów i przesyłał je na naszą skrzynkę. Po instalacji Logwatch w katalogu /etc/cron.daily/ powinien znajdować się plik 00-logwatch. Jeżeli go nie ma, tworzymy go i wypełniamy:

#!/bin/sh

if [ -x /usr/sbin/logwatch.pl ] ; then
        exec /usr/sbin/logwatch.pl 2>&1 > /dev/null
fi

Ponieważ chcę aby podsumowanie dotyczyło całego dnia, ustawiłem w /etc/crontab wykonywanie codziennych czynności 5 minut po północy

5  0  * * *     root    rm -f /var/spool/cron/lastrun/cron.daily

W zasadzie to wszystko. Problemem może być to, że gdy komputer nie jest akurat włączony o ustalonej godzinie nie zostanie wykonane zadanie. Z pomocą przybywa anacron, który wykonuje pominięte przez crona zadania standardowo 5 minut po uruchomieniu systemu.

# emerge anacron

Od wczoraj moje gentoo chodzi na nowym jądrze 2.6.24-gentoo-r3. Jako że była to przesiadka z 2.6.23 nie wykorzystałem starego pliku .config tylko leciałem z ustawieniami od nowa (i dobrze bo trochę się pozmieniało). Po uruchomieniu dmesg zaczął wypluwać dziwne rzeczy :

$ dmesg  
evbug.c: Event. Dev: isa0060/serio0/input0, Type: 20, Code: 0, Value: 500
evbug.c: Event. Dev: isa0061/input0, Type: 18, Code: 2, Value: 400
evbug.c: Event. Dev: isa0061/input0, Type: 18, Code: 2, Value: 0
evbug.c: Event. Dev: isa0061/input0, Type: 18, Code: 1, Value: 0
evbug.c: Event. Dev: isa0060/serio0/input0, Type: 4, Code: 4, Value: 32
evbug.c: Event. Dev: isa0060/serio0/input0, Type: 1, Code: 32, Value: 1
evbug.c: Event. Dev: isa0060/serio0/input0, Type: 0, Code: 0, Value: 0
evbug.c: Event. Dev: isa0060/serio0/input0, Type: 4, Code: 4, Value: 32
evbug.c: Event. Dev: isa0060/serio0/input0, Type: 1, Code: 32, Value: 0
evbug.c: Event. Dev: isa0060/serio0/input0, Type: 0, Code: 0, Value: 0
evbug.c: Event. Dev: isa0060/serio0/input0, Type: 4, Code: 4, Value: 14

Niezbyt to dla mnie przydatne a i pliki z logami się rozrastają. Winowajcą okazała się opcja Event debugging, tak więc żeby pozbyć się niechcianych komunikatów należy ją wyłączyć :

Device Drivers  ---> 
   Input device support  ---> 
         < >   Event debugging

po czym skompilować jądro na nowo.