![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 0 Dołączył: 30.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Polecony mi przez kogoś przykładowy skrypt do backupu bazy MySQL, który znajduje się tutaj przerobiłem po swojemu - tak aby poddawał dane kompresji. Rezultat poniżej.
Jeśli ktoś znajdzie w nim jakieś ewidentne babole lub zwróci uwagę na coś, o czym zapomniałem, to będę wdzięczny za jakieś info. Skrypt się wykonuje, ale zbyt szybko toto nie działa... Pozdrawiam, K
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 0 Dołączył: 19.11.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Powiem tak ... 1000 razy lepsza metoda to mysqldump (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) w koncu do tego został stworzony. Dumpujesz poszczególne bazy (warto z rozbiciem na tabele by potem łatwiej dotrzec do jakichs danych a nie parsować ogromny plik), tarujesz, gzipujesz i gotowe.....
Kod #!/bin/sh YEAR=$(date +%Y) MONTH=$(date +%m) DAY=$(date +%d) OUTDIR=/sciezka/do/kopii/$YEAR/$MONTH/$DAY BKSTART=$(date +%m%d-%H%M) /bin/mkdir -p $OUTDIR for TABLE in `/usr/local/bin/mysql -Be 'show tables;' nazwa_bazy | grep -v 'Tables_in'` do FNAME="BAK_$BKSTART.$TABLE.sql" /usr/local/bin/mysqldump --add-drop-table nazwa_bazy $TABLE > $OUTDIR/$FNAME done cd $OUTDIR /usr/bin/tar cjf DB_BAK_$BKSTART.tar.bz2 --remove-files *.sql Każda tabelka jest w oddzielnym pliku, dzień ztarowany w całość, każdy dzień, miesiąc, rok to oddzielny katalog - można robić kilka kopii dziennie .... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 09:39 |