Backup bazy danych wysyłany na maila.

Wczoraj postanowiłem zająć się małym problemem, który trochę mnie męczył. Na moim serwerze bez x’ow mam codziennie robiony backup bazy danych, jednak jest on przechowywany na dysku serwera. No i sobie pomyślałem, że jak padnie mi dysk w moim leciwym hp, dane się zniszczą, co to za backup w takim razie. Zrodził się więc pomysł wysyłania codziennie maila ze świeżym backupem bazy na skrzynkę, którą mam na gmailu. Moja baza danych jest malutka więc z rozmiarem chwilowo nie ma problemu, jak zacznie rosnąć to będę się martwił.

A więc do dzieła, będziemy potrzebowali SSMTP, który jest prostym i lekkim przekaźnikiem poczty, oraz MUTT – niewielki klient poczty elektronicznej.

Inastalujemy SSMTP i MUTT:
aptitude install ssmtp mutt

Teraz przyszła pora na konfiguracje ssmpt, poniżej wklejam tylko odkomentowane linijki pliku konfiguracyjnego
nano /etc/ssmtp/ssmtp.conf
root=adre@email
mailhub=smtp.gmail.com:587
dla gmaila oczywiście
rewriteDomain=
hostname=nazwa@localhosta
FromLineOverride=YES
AuthUser=nazwa.uzytkownika@gmail.com
AuthPass=twojehaslo
UseTLS=YES
UseSTARTTLS=YES
AuthMethod=LOGIN

Chyba nie trzeba nikomu tłumaczyć, że ważne są odpowiednie uprawnienia do pliku z racji wpisanego w nim hasła.
W pliku konfiguracyjnym polecają nadać następujące uprawnienia
chown root:mail /etc/ssmtp/ssmtp.conf
chmod 640 /etc/ssmtp/ssmtp.conf

Gdy mamy już skonfigurowany ssmtp możemy wykonać sobie szybki test czy aby na pewno działa
ssmtp "testing ssmtp setup" twojmail@gmail.com

Jeżeli test przebiegł pomyślnie bierzemy się za szybkie ustawienie nadawcy w MUTT:
set realname="Backup server" Oczywiście możecie ustawić sobie inną nazwę.

Teraz nadszedł czas na prosty skrypcik, który będzie wysyłał nasze maile. Spokojnie można dodać treść skryptu do naszego skryptu tworzącego backup’y bazy, jednak ja trochę eksperymentowałem i postanowiłem zrobić to osobnym skryptem

touch mail.sh
#!/bin/bash
DATT="`date +%Y-%m-%d`"
Wybrałem taki sam format daty jak mam w skrypcie do tworzenia zrzutu bazy
mutt twoj.mail.@gmail.com -a /sciezka/do/pliku/backup-bazy-"$DATT".sql.gz -s "Backup $DATT < /dev/null

I skrypcik gotowy, teraz tylko dodajemy go do crontab’a żeby wykonywał się o określonej porze. W moim przypadku codziennie o godz 5 rano.
crontab -e
0 5 * * * /sciezka/do/skryptu/mail.sh

Jakby ktoś chciał przepis na skrypt tworzący backup bazy danych to polecam wpis na www.blog.sloniupl.eu

3 myśli na temat “Backup bazy danych wysyłany na maila.

  1. Masz błąd w linijce:
    aptitude install ssmpt mutt
    a dokładnie literki ci sie pomieszały w ssmtp

    oraz w linku do mojego bloga brakuje ci dwukropka i dlatego niedziała 😀

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *