Jarosław Szmańda 42 Zgłoś post Napisano Grudzień 27, 2008 Cześć, Właśnie tak myślę na wykonywaniem kopii bezpieczeństwa serwera. Czytam tematy i wszyscy polecacie program rsync. Mam VPSa. Czy ten program umożliwia wykonywanie kopii przyrostowej w taki sposób że po zainicjowaniu połączenia z serwerem sprawdzi co się zmieniło w katalogu i ewe. pobierze tylko nowe / zmienione pliki? Chodzi mi o to aby uruchamiać tern skrypt na komputerze domowym. Tutaj i tutaj mam Debiana: Etch / Sid. Dodatkowo czy rsync wykona takze kopię bazy mysql czy jedynie katalogów? Pzdr! Udostępnij ten post Link to postu Udostępnij na innych stronach
is_wm 287 Zgłoś post Napisano Grudzień 27, 2008 Czy ten program umożliwia wykonywanie kopii przyrostowej w taki sposób że po zainicjowaniu połączenia z serwerem sprawdzi co się zmieniło w katalogu i ewe. pobierze tylko nowe / zmienione pliki? Taka jest właśnie idea rsync Dodatkowo czy rsync wykona takze kopię bazy mysql czy jedynie katalogów? Wykona. Udostępnij ten post Link to postu Udostępnij na innych stronach
Jarosław Szmańda 42 Zgłoś post Napisano Grudzień 27, 2008 Ale w sensie że zrobi kopię katalogu mysql czy eksport baz? BO to chyba różnica, prawda? Udostępnij ten post Link to postu Udostępnij na innych stronach
is_wm 287 Zgłoś post Napisano Grudzień 27, 2008 Skopiuje binarki. To imho stabilniejsze rozwiazanie niz dump - mialem kilka sytuacji, gdzie dump sie po prostu nie wykonal (zrzut mial bledy na poczatku) a rsync skopiuje zawsze (a jak nie, to dostaniesz error'a np. w cronie na maila) Udostępnij ten post Link to postu Udostępnij na innych stronach
Jarosław Szmańda 42 Zgłoś post Napisano Grudzień 27, 2008 No dobra ale jak to potem z wczytaniem tego? W razie chciał bym przywrócić dane z tej kopii, tylko wgrać do katalogu? Strony trzymam w /var/www, mysql to skąd skopiować? /usr/bin/mysql /usr/share/mysql/ ? Udostępnij ten post Link to postu Udostępnij na innych stronach
tryme 0 Zgłoś post Napisano Grudzień 27, 2008 Kopiujesz z /var/lib/mysql W razie przywracania, kopiujesz w drugą stronę pliki i robisz restart mysqla (ewentualnie flush tables) Udostępnij ten post Link to postu Udostępnij na innych stronach
Jarosław Szmańda 42 Zgłoś post Napisano Grudzień 27, 2008 No dobra to teraz czas poczytaj co to zrobić Udostępnij ten post Link to postu Udostępnij na innych stronach
gb 12 Zgłoś post Napisano Grudzień 27, 2008 Kopiujesz z /var/lib/mysql W razie przywracania, kopiujesz w drugą stronę pliki i robisz restart mysqla (ewentualnie flush tables) Az tak bardzo kolegi nie lubisz, ze doradzasz takie rzeczy ? Polecam wpierw zrobic dump bazy przed wykonaniem rsync'a plikow. g. Udostępnij ten post Link to postu Udostępnij na innych stronach
is_wm 287 Zgłoś post Napisano Grudzień 27, 2008 He? Może rozwiniesz myśl gb? Nie dalej jak kilka dni temu przywracałem w ten sposób bazę i żadnych problemów nie miałem. Udostępnij ten post Link to postu Udostępnij na innych stronach
lazy 33 Zgłoś post Napisano Grudzień 27, 2008 He? Może rozwiniesz myśl gb? Nie dalej jak kilka dni temu przywracałem w ten sposób bazę i żadnych problemów nie miałem. To ze sie udalo nie znaczy ze to poprawny sposob backupu. Mysql "stara sie" by w razie np. twardego resetu nie stracic zpisanych juz na dysku danych, ale to nie to samo co kopiowanie plików. w szczegolnosci bazy innodb sie w taki sposob dobrze "backupuja" gdyby tego rsynca robic ze snapshota to jeszcze, ale na zywca ? oczywiscie innodb tez prawdopodobnie sie pozbiera po takiej kopii, choc roznica w aktualnosci plikow logow i samych danych przy odtwarzaniu moze skutecznie rozwalic tabele, przy lockowaniu wszystkich tabel i robieniu lvm snapshota nie jest w 100% jasne czy wystarczy skopiowac same pliki by miec pewny backup. Robienie tego na zywca jest juz proszeniem sie o kłopoty. Co do myisam to jest mysqlhotcopy ktory bezpiecznie zrobi nam binarne kopie baz (jesli boimy sie ze serwer nie wytrzyma klasycznego backupu, albo obawiamy sie jaj z przekodowaniem niepoprawnie zaimportowanych baz) -- http://lazy.digart.pl/ Udostępnij ten post Link to postu Udostępnij na innych stronach
is_wm 287 Zgłoś post Napisano Grudzień 27, 2008 Ah, to sorry, nie zrozumiałem. Ja przywracałem bazę przez cp (po przypadkowym usunięciu bazy), ale chyba tak samo działałby rsync, gdyby plik nie istniał? Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Grudzień 27, 2008 Kopia RAW danych, jeśli już zadziała, to raczej tylko na tej samej wersji daemona MySQLd. Ale nie polecam - gdyż próba takiej kopii bazy InnoDB może spowodować zepsucie integralności, indeksów, relacji itp... co w konsekwencji może prowadzić do tego, że tabele będziesz widział, ale nie będziesz mógł nic z nimi zrobić (nawet... skasować - z poziomu narzędzi bazy ofc.). Udostępnij ten post Link to postu Udostępnij na innych stronach
lazy 33 Zgłoś post Napisano Grudzień 28, 2008 Kopia RAW danych, jeśli już zadziała, to raczej tylko na tej samej wersji daemona MySQLd. nieprawda, pliki MySQL sa kompatybilne w górę, a nawet w dół tez w pewnym stopniu -- lazy.digart.pl Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrick Zgłoś post Napisano Grudzień 28, 2008 Można skopiować to /var/lib/mysql/*, ale serwer mysql musi być wyłączony, a to raczej mija się z celem. Udostępnij ten post Link to postu Udostępnij na innych stronach
is_wm 287 Zgłoś post Napisano Grudzień 28, 2008 No dobrze, w takim razie powstaje pytanie: czy nie opłaca się robienie rsync CAŁEGO dysku? I w razie awarii użyć tych wszystkich danych? Piszę to pod kątem mysql właśnie, bo jest pytanie - czy po przywróceniu danych może się okazać, że bazy nie działają? Nie ukrywam, że niektóre wasze wypowiedzi zmieniły mój "światopogląd", choć trochę się dziwie (ale znowu nie podważam), bo już kilka razy przywracałem tak bazę i nie miałem problemów... Udostępnij ten post Link to postu Udostępnij na innych stronach
Art_ 0 Zgłoś post Napisano Grudzień 28, 2008 no to chciałbym zapytać czy jest jakiś sposób na robienie kopii "przyrostowej" baz danych ? ( bez wyłączania serwera oczywiście ) czy nie ma wyjścia i trzeba robic dump ? ( bo po prostu tak średnio mi się uśmiecha przesyłanie codziennie takiego pliku ) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrick Zgłoś post Napisano Grudzień 28, 2008 No dobrze, w takim razie powstaje pytanie: czy nie opłaca się robienie rsync CAŁEGO dysku? takie coś, można robić ale na od montowanym systemie plików. no to chciałbym zapytać czy jest jakiś sposób na robienie kopii "przyrostowej" baz danych ? nie Udostępnij ten post Link to postu Udostępnij na innych stronach
lazy 33 Zgłoś post Napisano Grudzień 28, 2008 takie coś, można robić ale na od montowanym systemie plików. że co ? rsync na odmontowanym systemie plików ? Udostępnij ten post Link to postu Udostępnij na innych stronach
is_wm 287 Zgłoś post Napisano Grudzień 28, 2008 lazy, chodzi chyba o osobny dysk...? A odnośnie drugiego sposobu, można użyć: mysqldump --all-databases -p | bzip2 -c > bazy.sql.bz2 Tylko czy można jakoś pobrać hasło z my.ini żeby móc uruchamiać to cudo w cronie? Udostępnij ten post Link to postu Udostępnij na innych stronach
BlueMan 69 Zgłoś post Napisano Grudzień 28, 2008 mysqldump -u root --all-databases -pTwojeHasło Udostępnij ten post Link to postu Udostępnij na innych stronach
is_wm 287 Zgłoś post Napisano Grudzień 28, 2008 Moje pytanie brzmiało trochę inaczej ;P Mam w my.ini user="root" pass="haselko" Probowalem zrobic cos na zasadzie: AUTHFILE="/root/my.ini" mysqldump --all-databases -p $AUTHFILE | bzip2 -c > databasebackup.sql.bz2 ale nie wychodzi Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrick Zgłoś post Napisano Grudzień 28, 2008 że co ?rsync na odmontowanym systemie plików ? pfuu pomyliło mi się z snapshotem dysku. ~/.my.cnf [client] user=root password=haselko Udostępnij ten post Link to postu Udostępnij na innych stronach
is_wm 287 Zgłoś post Napisano Grudzień 28, 2008 Patrick, bardzo proszę abyś to rozwinął... tak mam w .my.ini, tylko jak to dodać do skryptu? Udostępnij ten post Link to postu Udostępnij na innych stronach
BlueMan 69 Zgłoś post Napisano Grudzień 28, 2008 #!/bin/bash #mysql USER=`cat /root/my.ini | grep user= | awk '{ print $2 }'` PASS=`cat /root/my.ini | grep pass= | awk '{ print $2 }'` mysqldump -u $USER --all-databases -p$PASS | bzip2 -c > databasebackup.sql.bz2 Ale nie za bardzo się znam na awk... Kiedy kiedys zrobiłem: LOAD=`uptime | awk -F'average: ' '{ print $2}'` SYSTEM=`more /proc/version | cut -d"#" -f1` więc może to ci podpowie rozwiązanie :] Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrick Zgłoś post Napisano Grudzień 28, 2008 Po prostu wywalasz opcje autoryzacji, bo client i tak Cię połączy według danych ~/.my.cnf. Udostępnij ten post Link to postu Udostępnij na innych stronach