Skocz do zawartości
GyniO

Skrypt do backupu wielu baz.

Polecane posty

Witam, posiadam serwer vps a na nim z około 300-400 baz danych (katalogi, małe fora).

 

Jedna baza waży 20mb a jedna parę kb.

 

No i teraz chciałbym zabezpieczyć te bazy cotygodniowym backupem (wszystkich baz na serwerze).

Backup baz mógłby być wysyłany na inny serwer..

 

Myślałem nad napisaniem skryptu PHP, komenda exec ... Ale jeżeli mam 400 baz to skrypt się będzie wykonywał wieki i wystąpią skutki uboczne takie jak lagi czy zawieszenie się serwera.

 

W tej kwestii jestem bezradny i proszę was o pomoc/propozycje.

 

Znajomy myślał o pythonie..., ale nic więcej nie wymyślił :(

 

System: Debian 5.0

Ram: 1500

Procek: 2800

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zrób rsync albo skrypt perl/php/inny wyciągający listę baz a potem robiący dumpa mysqldump.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Zrób rsync albo skrypt perl/php/inny wyciągający listę baz a potem robiący dumpa mysqldump.

 

 

Co do wyciągnięcia baz to nie problem.

 

Problem miałbym w php z bigdumpem..

Tak to ma wyglądać ?

 

while(...){

$data = date("d-m-y_H-i", time());
$plik = "/var/www/mojastrona.pl/backup/".$baza.'_'.$data;

system('mysqldump -h localhost -u user -phaslo  '.$baza.' > '.$plik.'.sql
gzip '.$plik.'.sql
mv '.$plik.'.sql.gz '.$plik.'.gz');

}

 

?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
300-400 baz i każdą od nowa przesyłać?

Moze inkrementalnie - czyli replikacją?

 

Co do backupu baz na inny serwer, zrobiłem sobie tak, że backupy są zapisywane w folderze z nazwą daty backupu + dodany do nazwy został hash, przez co można spakować wszystkie backupy do jednego pliku i zrobić odpowiedni kod, który będzie pobierał ten backup na inny serwer.

 

Musze jeszcze poszukać w google jak się robi zapytania do bazy i pętle w perlu ;D

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Można samemu napisać lub najlepiej użyć skryptu przykładowo:

 

http://sourceforge.net/projects/automysqlbackup/

 

400 baz do 20MB to nie jest znowu tak dużo, ja mam około 50 podobnych i robi mi to w niecałe 4 minuty gzipem. Trzyma kopie w folderach, sam nimi rotuje.Codziennie robię na zewnątrz kopię baz za pomocą rsync. Bardziej zasobożerne, bazy można replikować i tutaj można parę rozwiązań zastosować, w zależności od sposobu replikacji i rozwiązania.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×