Automatyczny backup bazy danych mysql przy pomocy crontab 4


Posiadając swój własny serwer www dobrze jest zadbać o backup bazy danych która zawiera praktycznie wszystkie treści zamieszczone na naszych stronach.

 

Aby zrobić backup bazy danych użyjemy dostępnego po zainstalowaniu serwera mysql narzędzia mysqldump a aby zautomatyzować proces stworzymy skrypt .sh i dodamy jego uruchamianie do naszego crontab:

aby utworzyć sobie plik w dowolnym miejscu przechodzimy w terminalu do tego katalogu i wpisujemy (oczywiście jako root):

# touch backup_bazy.sh

następnie nadajemy mu prawa do wykonania:

# chmod 744 backup_bazy.sh

następnie edytujemy nasz skrypt:

# nano backup_bazy.sh

i wklejamy zawartość:

/usr/bin/mysqldump nazwabazy -u root -phasło | gzip > /root/sql_backups/nazwa-`date +%Y-%m-%d`.sql.gz

należy pamiętać aby wpisać zamiast nazwabazy nazwę bazy której backup chcemy stworzyć oraz zamiast hasło wpisać hasło roota bazy danych mysql (nie hasło roota systemowego).

PS. w wyrażeniu -phasło celowo nie ma spacji, nie wstawiaj jej na siłę bo nie będzie działać!!!

/root/sql_backups/nazwa- oznacza miejsce w którym bedzie zapisywany nasz backup bazy danych, można zmienić na dowolny, natomiast końcówka nazwa- oznaczać będzie nazwę pliku, po myślniku zostanie wstawiona data utworzenia backupu.

 

Jeśli chcemy utworzyć backup wszystkich baz znajdujących się w naszym mysql to zawartość pliku sh powinna wyglądać następująco:

/usr/bin/mysqldump -u root -phasło --all-databases | gzip > /root/sql_backups/nazwa-`date +%Y-%m-%d`.sql.gz

to spowoduje zrobienie backupu wszystkich naszych baz do jednego pliku.

Oczywiście nasze backupy będą spakowane gzipem w celu zaoszczędzenia miejsca 🙂

 

Po poprawnym utworzeniu pliku przechodzimy do konfiguracji crontab aby skrypt nam się uruchamiał automatycznie uruchamiamy edycje pliku crontaba:

# crontab -e

co uruchomi nam edytor vi, następnie znajdując się w edytorze wciskamy na klawiaturze klawisz i, a następnie wklejamy kombinacją klawiszy Shift + Insert poniższy text:

0 4 * * * /root/backup_bazy.sh

W takiej konfiguracji plik będzie uruchamiany codziennie o 4:00 rano.

Zawartość naszego pliku crontab możemy sprawdzić używając polecenia:

# crontab -l

Gotowe 🙂


Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

4 komentarzy do “Automatyczny backup bazy danych mysql przy pomocy crontab