![]() |
![]() |
![]()
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
![]() 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 .... -------------------- Enceladus
Warsztat: bez warsztatu Aktua |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 0 Dołączył: 30.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Fajnie, tylko że nie bardzo rozumiem Twój kod... Skąd się to odpala?
Korzystam z serwera wirtualnego i mój dostęp do katalogów jest ograniczony. A chciałem zautomatyzować sobie backup ładując mój skrypt do crona i uruchamiać go w nocy. Jednym słowem napisz coś więcej bo ni w ząb nie rozumiem. ![]() Pozdrawiam, Krzysiek |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 127 Pomógł: 0 Dołączył: 19.11.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Kod #!/bin/sh TO jest skrypt w shellu wykonywany właśnie w cronie - jeśli masz dostęp do crona - to i do shella pewnie tez. -------------------- Enceladus
Warsztat: bez warsztatu Aktua |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 193 Pomógł: 0 Dołączył: 14.09.2003 Skąd: Brodnica (koło Torunia) Ostrzeżenie: (0%) ![]() ![]() |
Cytat(enceladus @ 2004-09-27 14:13:50) Powiem tak ... 1000 razy lepsza metoda to mysqldump ![]() 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 .... Taaaa... a weź pod uwagę to, że na darmowych serwerach nie ma shella ani nawet funckji exec" title="Zobacz w manualu PHP" target="_manual. No i co wtedy?? Pozostaje skrypt ktuvoka. -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 848 Pomógł: 0 Dołączył: 7.07.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Oceny chyba się daje na forum "Oceny" ?
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 127 Pomógł: 0 Dołączył: 19.11.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat(MoD @ 2004-10-02 13:05:39) Taaaa... a weź pod uwagę to, że na darmowych serwerach nie ma shella ani nawet funckji exec" title="Zobacz w manualu PHP" target="_manual. No i co wtedy?? Pozostaje skrypt ktuvoka. Jak już napisałem - jeśli ktoś ma dostęp do cron-a ma pewnie też do shella.... Ale jeśli i z tym masz problem to w mysql-u możesz: (polecam: http://dev.mysql.com/doc/mysql/en/SELECT.html ) a potem: (polecam: http://dev.mysql.com/doc/mysql/en/LOAD_DATA.html ) To będzie chyba metoda szybsza (nie sprawdzałem), ale z pewnością zdecydowanie prostsza i pewniejsza..... i nie trzeba konta z shellem ![]() -------------------- Enceladus
Warsztat: bez warsztatu Aktua |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 20:00 |