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
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
|
|
|