To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

F.A.Q. - Najczęściej Zadawane Pytania - Szybszy sposób robienia kopii bazy

DJMaslak - 11-04-2005, 14:24
Temat postu: Szybszy sposób robienia kopii bazy
Witajcie.

Ostatnio ukazała się nowa wersja cPanelu w wersji 10. release 161. z wbudowanym cPanel Pro 1.0 (RC.2)

Ma ona o wiele większe możliwośći niż poprzednie wersje, dodatkowo posiada CRONTAB.

Dla wszystkich którzy znaj? linuxa nie jest to zadna nowo?? ale dla pozostałych ....

Otórz CRONTAB jest to program umożliwiający wykonywanie zadanych komend w określonym czasie.
Super ,, niby nic ale jesli dośćczymy do tego mysqldump to możemy sobie zazyczyc kopie bazy w okreslonych odstepach czasu wysyłan? w określone miejsce na server :)

Przydaje sie to zw?aszcza gdy np. robimy zrzut bazy i leci 5 kbps a możemy pliki z FTP ssac 10 sesjami po 6 kbps czyli 60 kbps - znacznie szybciej nie ?
Jesli nie mamy nowego cPanelu albo samego CRONTAB to też nieszkodzi bo mozna potestowac komende na samym serverze....jednak do CRONTAB pasuje lepiej

No to zaczynamy:

MySQL posiada wbudowane narządzie nazywające się mysqldump które służy do tworzenia niezale?nych od platformy plików tekstowych które zawieraj? pe?n? kopię tego co znajdowaćo się w bazie , która przez przypadek została utracona

Aby utworzyć kopię zapasową bazy db_przykładowa, należy wykonać poni?sz? komend?:

Kod:
# mysqldump -uLOGIN -pPASSWORD -hHOST db_przykladowa > /usr/backups/mysql/db_przykladowa.2004-12-27


-h nie jest konieczne zawsze

MySQL użyje username, password oraz host aby sprawdziś, czy posiadamy uprawnienia dostępu do bazy. Po udanej autentykacji, przekierowujemy ca?y potok wyjęcia wytworzony przez polecenie mysqldump do wskazanego przez nas pliku. Dobr? praktyk? jest dodawanie do nazwy plików z backupem daty. W niektórych przypadkach, gdy kopie robione są kilka razy dziennie, przydatne jest również wstawianie informacji o czasie ich utworzenia.

Jeśli mamy do czynienia z bazą w której niektóre z tabel są używane znacznie człąciej niż inne, wtedy mysqldump pozwala nam wykonać tylko ich kopię:

Kod:
# mysqldump db_przykladowa artykuly komentarze linki > /usr/backups/mysql/db_przykladowa.art_kom_lin.2004-12-27


fajnie nie ???

Co najwazniejsze mozna pakować w locie pliki :)

W CRONTAB mozna dodatkowo okreslic aby robil to codziennie a my tylko sobie zrzucimy kopie z servera FTP.

Moja komenda wyglada tak

Kod:
cd /home/dtfforum/public_html/katalog_kopii/; /usr/bin/mysqldump -uMoj_login -pMoje_haslo bazaforum | gzip > kopia_bazy.gz


No i codziennie sobie ?ciągam kopie z servera FTP a nie m?cz? sie w cPanelu z Exportem :)

Mozna też sobie z tego odtworzyc kopie podajac taka komende

Kod:
mysql -u -p -h db_przykladowa < /mnt/backup_share/db_przykladowa.2004-12-27


ale to już dla bardziej zaawansowanych :)

do nazwy mozna dodać kod $(date) wtedy pliki będę dodawane z datą :)

Paszczak000 - 11-04-2005, 15:26

Polecam również poczyta?:
http://forum.thc.net.pl/v...p?t=401&start=0

Crack - 11-04-2005, 16:22

DJMaslak napisał/a:
No i codziennie sobie ?ciągam kopie z servera FTP a nie m?cz? sie w cPanelu z Exportem

Tak, ale ?ciągaj?c z cPanelu nie marnujesz transferu na koncie. No, chyba że FTP ci się nie liczy.

Paszczak000 - 11-04-2005, 16:27

Ale czy jest sens ?ciąga? kopię na dysk, skoro jak forum padnie to i tak trzeba ją wrzucać na serwa. Ja CRONTAB robić kopię i zostawiam ją na serwerze. Jak co? potrzebuj? to ją dopiero zasystam a tak to sobie le?y i czeka. CRONTAB nadpisuje o 11:00 mi bazą i gites :) liczą na to, że serwer się nie zepsuje :D
DJMaslak - 11-04-2005, 19:37

Paszczak000 masz rację, ale w takim razie skoro nadpisujesz pliki to trzeba by było przynajmniej raz w tygodniu zassac baze na lokala.
A co zrobisz jak sie okaze ze ostatni zrzut przed awari? jest walni?ty ( z jakiego? powodu) albo ktoś zaatakuje ci forum włącznie z FTP-em ?

Lepiej miec przynajmniej raz w tygodniu zrobiony zrzut na lokalny komputer.

Dlatego radz? ci dodac do komendy $(date) i pliki bed? nowe a nie nadpisywane, w takim razie ograniczysz sie tylko do kasowania niepotrzebnych kopii z servera a bedziesz mial historie backupów :)


Crack napisał/a:
?ciągaj?c z cPanelu nie marnujesz transferu na koncie


Moze i masz racje ale policzmy.
Baza w formie spakowanej gzip ma 8 MB
Zrzut w dni powszednie tj od pn-pt to 22x8MB = 170 MB

Czy w takim razie transfer z servera (trafic) ucierpi tak strasznie ? chyba nie, mam go 12 GB / mc

Widmo - 12-04-2005, 00:12

Paszczak000 napisał/a:
liczą na to, że serwer się nie zepsuje

jaz tak liczylem :]

i stracilem wszystko ...

Paszczak000 - 12-04-2005, 07:07

DJMaslak, oprócz kopi cronem to ja robić zrzut phpmyadminem
DJMaslak - 14-04-2005, 08:08

Paszczak000 napisał/a:
DJMaslak, oprócz kopi cronem to ja robić zrzut phpmyadminem

Pytanie tylko po co ? skoro masz zawartość całej bazy na FTP-ie to po jakiego grzybka jeszcze w phpMyAdminie sie mączyc ?
No ale każdy robi to co lubi :)

Crack - 15-04-2005, 15:17

DJMaslak napisał/a:
Pytanie tylko po co

Przeczytaj mojego ostatniego posta, najczłąciej transfer z phpMyAdmina działającego na cPanelu się nie liczy do transferu konta, a FTP tak.

waldim - 15-04-2005, 22:05

a co zrobić kiedy nie mam cpanelu, crontaba i dostepu przez ssh, a zrzucanie 60Mb bazy musze robic na wiele rat bo phpMyAdmin sie wysypuje...
w geeklogu widzialem kiedy taka opcje: "make backup" i po przycisnieciu przycisku pojawial sie na serwerze plik z kopia bazy.
Ma kto może pomysl na podobne rozwiazanie?
A może takie juz istnieje tylko ja o tym nie wiem? :(

spearow - 17-04-2005, 13:03

mysqldump -u djstrong_3cgim --password=****** djstrong_3cgim > /usr/bin/mysqldump-`date +1d-1m-1Y_1H:1M`.sql

wyskakuje mi blad:
/bin/sh: -c: line 1: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 2: syntax error: unexpected end of file

co z tym zrobic?

waspnation - 28-04-2005, 15:20

ja jestem zielony i niemam pojęcia o czym gadacie.udalo mi sie w phpmyadmin wyeksportowac baze na dysk ale jak mam ją pozniej wrzucic spowrotem do mysql.prosze wyjasnijcie to jak najprosciej.Posiadam wersje phpMyAdmin 2.6.1-rc1.
marcing - 29-04-2005, 20:40

Ja pod linuxem używam parametr $(date +%w) - określa dzień tygodnia od 0-6

w skrypcie odpalanym z crona najpierw kasuje najstarszą baze

/bin/rm /mnt/hdd2/arch/nazwabazy$(date +%w)*

potem zrzucam nową

mysqldump -uUSER -pHASLO nazwabazy > /mnt/hdd2/arch/nazwabazy$(date +%w).sql

a potem kopiuje na drugi dysk

/bin/cp -u /mnt/hdd2/arch/* /home/services/arch_kopia

Tak robie z kilkoma bazami MYSQL-a, bazy nadpisują sie tygodniowo, na dwóch dyskach a i nic nie szkodzi coby je ściągać :-) Ja jeczcze se cotydzień wypalam cdrw... ale nie każdy jest rootem u siebie, to sie da z shela zrobić, ale z php-em nie pomoge...

Termo - 01-07-2005, 22:41

A czy mozna za pomocą tego crondab ustawic, żeb robilo kopie na emaila?
Paszczak000 - 02-07-2005, 00:49

Poczytaj
http://forum.thc.net.pl/v...c09f815f839194c



Powered by phpBB modified by Przemo © 2003 phpBB Group