RSS

Automatyczne sprawdzanie poprawności bazy FireBirda

08 Mar

Samo robienie kopii może nam się do niczego nie przydać jeżeli będziemy archiwizować bazę która będzie miała błędy. Naprawianie lub dokopywanie się do dobrej kopii może zając nam sporo czasu dlatego postanowiłem napisać prosty skrypt który będzie sprawdzał poprawność bazy i wysyłał raporty na mejla ( na takiej samej zasadzie jak w sposobie opisanym tutaj -> https://lazowski.wordpress.com/2009/08/12/wysylanie-emaili-z-terminala/ ).

#!/bin/bash
#Podstawowe dane pocztowe
odkogo=odkogo@gmail.com
dokogo=dokogo@gmail.com
login=odkogo
haslo=supertajnehaslo
### dla GMAIL serwer to smtp.gmail.com:25
serwersmtp=smtp.gmail.com:25
tytul=`echo Baza z FirmyABC`
data=`date -R`
echo > /var/log/FB.log
gfix -v /root/SYSTEM-1.S1B -user sysdba -password masterkey 2> /var/log/FB.log
waga=`du -h /root/SYSTEM-1.S1B`

dulog=`du -h /var/log/FB.log | cut -c1`
if [ $dulog = 0 ]
then
status=`echo OK`
else
status=`echo "Są błędy, koniecznie sprawdź bazę !"`
fi
sendEmail -f $odkogo -t $dokogo -u “$tytul” -a /var/log/FB.log -m " Raport z dnia $data
Baza zajmuje już $waga
Status bazy $status" -s $serwersmtp -xu $login -xp $haslo

Skrypt do pobrania
Ze względu na rozjeżdżanie skryptów przez WordPress lepiej go pobrać z linku wyżej.

Objaśnienia :
1. Dla FireBirda od 2.0 w górę wystarczy samo polecenie gfix. Dla starszych wersji będziemy musieli podać pełną ścieżkę do tego pliku ( /usr/lib/firebird/1.5/bin/gfix ).
2. Lokalizacja bazy jest oczywiście dowolna, tak samo jak hasło dla usera sysdba
3. Jeżeli baza będzie bez błędów to dostaniemy pusty plik FB.log, w innym wypadku plik FB.log może mieć następującą zawartość :

Summary of validation errors
Number of data page errors : 21
Number of index page errors : 12
Number of database page errors : 11

Advertisements
 
1 Komentarz

Opublikował/a w dniu Marzec 8, 2010 w it, linuks, Linux, ubuntu

 

Tagi:

One response to “Automatyczne sprawdzanie poprawności bazy FireBirda

  1. Przemek

    Styczeń 22, 2013 at 1:43 pm

    Czy istnieje możliwość „przełożenia” tego skrypty na windowsowy bat?

     

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

 
%d blogerów lubi to: