Bądź na bieżąco - RSS

rsync czyli kopie szybko i bezproblemowo

Grudzień 20th, 2014 | Brak Komentarzy | Kategoria: Linux, Porady

Kopia dyskursync to narzędzie dobrze znane i szeroko stosowane. Ten niezwykle wygodny w użyciu program pozwala na synchronizowanie zawartości między zasobami w niezawodny sposób. Dzięki kopiowaniu bloków informacji w miejsce całych jednostek np. plików, algorytm kopiowania jest bardzo szybki. Dodatkowo rsync sprawdza się na zawodnych łaczach, gdzie dostępne pasmo potrafi spaść nagle do kilku kb/s. Nie ukrywam, że jest to moja ulubiona metoda tworzenia kopii dlatego chciałem pokazać jak szybko przygotować rsync dla dwóch serwerów w środowisku Debian Linux. Jeden niech będzie serwerem produkcyjnym, drugi zaś serwerem kopii.

Zaczynamy od instalacji aplikacji na obu komputerach:

apt-get install rsync

Następnie tworzymy specjalne konto na serwerze kopii:

adduser zapasowe

Kolejnym krokiem jest wygenerowanie certyfikatu na serwerze produkcyjnym i skopiowanie go na serwer kopii:

ssh-keygen -t dsa
ssh-copy-id -i .ssh/id_dsa.pub zapasowe@serwer_kopii

Możecie wierzyc lub nie ale to już prawie wszystko! Teraz wystarczy wywołanie polecenia na serwerze produkcyjnym:

rsync -aogrvzP --delete -e ssh /wazne zapasowe@serwer_kopii:kopie

Spowoduje ono utworzenie dokładnej kopii zawartości katalogu wazne na serwerze kopii w katalogu kopie. Prosto i skutecznie. Aha, powyższe polecenie możemy umieścić w pliku crontab, automatyzując tym samym cały proces.

MG

Tagi: , , ,

Kopie zapasowe za pomocą rsync dla Windows – aktualizacja

Grudzień 3rd, 2011 | Brak Komentarzy | Kategoria: Linux, Porady, Windows

Dokładnie 2 lata temu napisałem artykuł na temat kopii zapasowych za pomocą portu rsync dla Windows. 2 miesiące temu temat powrócił, jednak tym razem w roli głównej wystąpił Windows 2008 R2 Server. Co prawda posiada on bardzo rozbudowaną obsługę kopii zapasowych – na prawdę można przekonać się, że wiele poprawiono – aplikacja jest wygodna i niezawodna. Niemniej występują w niej niedogodności we współpracy z dyskami sieciowymi. Dla hostów windowsowych należących do Active Directory wszystko działa prawidłowo. Jednak zrzucenie kopii zapasowej na dysk udostępniony przez komputer z Linuxem (np. via SMB) stwarza problemy (szwankuje autoryzacja).

Nie pozostaje nic innego jak skorzstać ze starego, dobrego rsynca! Znalazłem w sieci bardzo dobry i stabilny port o nazwie DeltaCopy. Instalacja jest przyjemna i dość szczegółowo opisana na stronie autora. Program można uruchomić również w trybie bez instalacji. Posiada tryb usługi windows. W zasadzie jedyna rzecz, o której warto pamiętać to uprawnienia z jakimi uruchamiamy DeltaCopy w trybie usługi systemowej. Gdy zostaniemy zapytani podczas instalacji o konto i hasło dla użytkownika programu należy pozostawić puste pola. Następnie przechodzimy do widoku usług systemowych (przez Mendżer Serwera) i ustawiamy właściwości dla usługi DeltaCopy. W zakładce Logowanie należy wybrać opcję Lokalne konto systemowe.

W ten sposób otrzymujemy gotowy do użytku serwer rsync dla Windows. Należy jeszcze tylko pamiętać o otworzeniu portu 873 w Regułach przychodzących systemowego firewalla.

Ze strony komputera z Linuxem sprawa jest jeszcze prostsza (zakładam, że rsync został już zainstalowany). Przykładowe polecenie wykonujące kopie zapasową będzie miało postać:

rsync -arvz serwer.windows.2008r2::nazwa_udziału_rsync/ →
→ /sciezka_dostepu_do_katalogu_kopii_zapasowych/nazwa_kopii_zapasowej/

Dla wygody umieszczamy powyższą komendę w crontabie i możemy spać spokojnie… dopóki coś zowu się nie popsuje.

MG

Tagi: , ,

Kopie zapasowe za pomocą rsync dla Windows

Grudzień 21st, 2009 | Brak Komentarzy | Kategoria: Linux, Porady, Windows

Powszechnie wiadomo, że wykonywanie kopii zapasowych może uratować przed małą zagładą. Sam wielokrotnie się o tym przekonałem więc niezależnie od tego czy opiekuję się komputerem z Windows czy Linuxem zawsze szukam optymalnego rozwiązania dla zabezpieczenia danych.

W przypadku Linuxa sprawa jest prosta a rozwiązania wielokrotnie opisywane. Praktycznie najlepszym znanym mi jest rsync. Działa szybko i niezawodnie. W sieci można znaleźć masę poradników na jego temat. Gorzej jest jeśli chodzi o Windowsy. Po przetestowaniu wielu aplikacji, uwzględniając m.in. problemy z nazwami plików (np. polskie znaki potrafią skutecznie zwiesić najbardziej rozbudowane oprogramowanie) wymyślanymi przez użytkowników, mogę polecić AllwaySync. Jednak nawet ten bardzo dobry program potrafi odmówić posłuszeństwa.

Czy w związku z powyższym istnieje alternatywa? Wydaje się, że całkiem sprawnie działa rsync dla Windows – cwrsync. Jego najważniejsze zalety to:

  • darmowa wersja, zarówno klienta jak i serwera
  • brak koniecznośći instalacji pełnej wersji środowiska Cygwin
  • możliwość synchronizacji danych między Linuxem a Windows

Ostatnia zaleta umożliwa integrację rozwiązań dla tworzenia kopii zapasowych niezależnie od systemu opercyjnego. Krótko mówiąc aby wdrożyć takie rozwiąznie należy:

  1. Pobrać oprogramowanie ze strony domowej projektu (polecam wersje serwer, która zawiera również oprogramowanie klienta)
  2. Zainstalować w wybranym katalogu
  3. Zanim uruchomimy serwer trzeba wyedytować plik konfiguracyjny rsyncd.conf. Przykładową zawartość zamieszczam poniżej:
    use chroot = false
    strict modes = false
    hosts allow = *
    log file = rsyncd.log
    
    [TEST]
    path = /cygdrive/c/TEST
    read only = false
    transfer logging = yes

    Zwracam uwagą na linię zawierającą zmienną „path”. Ponieważ cwrsync korzysta z bibliotek Cygwin, została zachowana konwencja nakazująca rozpoczęcie defincji ścieżki od prefiksu „/cygdrive”. Zmienna „read only” o wartości „false” umożliwa zapis danych do wybranego katalogu.

  4. Teraz można uruchomić serwer cwrsync jako usługę systemową startując ją z poziomu panelu zarządzania usługami systemowymi Windows. Ponieważ domyślnie usługa ta uruchamiana jest ręcznie warto zmienić metodę na automatyczną.
  5. To wszystko. Teraz wystarczy na komputerze z Linuxem i zainstalowanym pakietem rsync uruchomić np. polecenie:
    rsync -arvzPO --delete /var/archive/ rsync://serwer_cwrsync/TEST/

    aby wykonać dokładną kopię danych z katalogu /var/archive (Linux) do katalogu C:\TEST (Windows)

MaG

Tagi: , ,