26 Responses to “Jak rsync Twoje dane zapisywał na zdalnych serwerach”

  1. kabturek Says:

    co do kopiowania klucza:

    ssh-copy-id user@host

    załatwi wszystko bezboleśnie

  2. Emil Oppeln-Bronikowski Says:

    @kabturek

    ssh-copy-id nie jest w każdej z paczek openssh-client. Dlatego nie podałem tego.

  3. kabturek Says:

    a to bardzo nieładnie ze strony osób paczkujących bo to przydatne narzędzie.
    Chociaż z drugiej strony każdy powinien być w stanie to zrobić też manualnie – “pokolenie ubuntu” czegoś się nauczy ;-)

  4. Emil Oppeln-Bronikowski Says:

    @kabturek

    Właśnie dlatego jest manualnie. Ten artykuł to nie jest jakieś gotowe rozwiązanie, ale daje dość zabawek żeby użytkownik mógł sobie zgrzebać coś, co mu pasuje. To jedna z tych małych radości używania *NIX-ów

  5. Hrw Says:

    Na wielu systemach nie trzeba podawać ścieżki do katalogu domowego – wystarczy wtedy “user@host:”

  6. Emil Oppeln-Bronikowski Says:

    @Hrw

    Huh, człowiek uczy się całe życie. Nie wiedziałem. :-)

  7. cezio Says:

    “Stworzylismy plik .ssh/authorized_keys w którym składowane są odciski palców.”
    Gwoli ścisłości, authorized_keys zawiera klucze publiczne, nie odciski. Dobrze jest przy tym ustawić tryb 600, coby nikt nie dopisał nam swoich kluczy (większość implementacji/konfiguracji ssh wymusza takie uprawnienia).

  8. Emil Oppeln-Bronikowski Says:

    @cezio

    Masz oczywiście rację. Wpadłem w pętle “klucze”, “klucze” i nagle użyłem złego terminu, bo mi obrzydły “klucze”.

    (“klucze”)

  9. r. Says:

    1. IIRC ssh nie użyje authorized_keys z prawami innymi niż 600.
    2. Polecam zapoznać się z dumpem i konceptem backupu przyrostowego, a potem wypychać tylko rsyncem to, co dump wyprodukował. Raz na tydzień pełen backup, potem róznicowe. Starsze niż np. tydzien kasujemy.
    3. Niegłupim pomysłem byłoby takie paczki z dumpa czymś szyfrować. Po co ktoś ma mieć dostęp do naszego backupu?

  10. harnir Says:

    rdiff-backup + backupninja dla leniwych – graficzny konfigurator pozwoli wybrać listę katalogów do backupowania przyrostowego na zdalny serwer. Dostępne w Debianopodobnych.

  11. rozie Says:

    r już poruszył temat szyfrowania, a ja jeszcze tylko dodam, że niezaszyfrowany backup online to proszenie się o kłopoty (chyba, że naprawdę nic tajnego/osobistego nie mamy).

    I warto wspomnieć o backupie klucza szyfrującego (jeśli go używamy), zwł. że backup klucza zaszyfrowany przy pomocy tego klucza to kiepski pomysł (ale z życia wzięty, nie dalej jak miesiąc temu na IRCu widziałem prośbę o pomoc w takiej sprawie).

  12. Shot Says:

    To ja ze swojej strony też dodam kilka tipów:

    1. SSH domyślnie tworzy klucze DSA, a nie RSA, które są na dodatek trochę lepsze (pliki z kluczami to wtedy id_dsa i id_dsa.pub).

    2. rsync -zaP oznacza trochę więcej:

    -z to „kompresuj przed wysłaniem, rozpakuj na drugim końcu”; jeśli robimy backup na dysk zewnętrzny, albo po sieci lokalnej, albo backupujemy JPG/MP3/filmy, to -z lepiej pominąć – nic nie wnosi, a zabiera sporo czasu i mocy przerobowych;

    -a to „zrób kopię archiwalną”, czyli zachowaj atrybuty oraz daty modyfikacji;

    -P to „wyświtlaj postęp dla poszczególnych plików i – w przypadku nagłego przerwania backupu – zachowaj częściowo skopiowany plik”, czyli można to spokojnie pominąć w crontabie.

    3. Co do –delete i podobnych: nowsze wersje rsynca nie czekają na przesłanie całej listy plików, tylko rozpoczynają synchronizację już podczas skanowania katalogów; na ogół jest to pożądany efekt (całość trwa krócej), ale jeśli chcemy odpalić rsynca z palca i wiedzieć ile plików pozostało do końca, warto dorzucić –delete-before (który wymusza pełen skan źródła i celu przed rozpoczęciem synchronizacji, dzięki czemu daje statystki „do końca jeszcze 1500 plików”).

  13. Shot Says:

    4. Jeśli chcemy ominąć jakąś grupę katalogów, to argument do –exclude warto wziąć w cudzysłowy, bo inaczej powłoka rozwinie:

    –exclude=’/var/www/drupal/backup-*’

    5. Jeśli robimy –exclude katalogów, które wcześniej kopiowaliśmy, a chcemy mieć kopię 1:1, to warto dodać –delete-excluded (który wywali wcześniejsze /var/www/drupal/backup-* trzymane w backupie).

    6. Backup laptopa na dysk zewnętrzny robię tak:

    $ sudo init 1
    # rsync -aP –delete –exclude /cdrom –exclude /dev –exclude /media –exclude /mnt –exclude /proc –exclude /sys –exclude /tmp / /media/Deep\ Thought/X301

    (serwerów na inne serwery podobnie, pomijając init 1 a za to dodając tekstowe dumpy baz itp.).

  14. Shot Says:

    (Oczywiście te wszystkie — powyżej powinny być podwójnymi minusami; węszę jakiś Textile albo inny Markdown niejawnie manglujący komentarze.)

  15. Emil Oppeln-Bronikowski Says:

    No, teraz powinienem zamienić komentarze z artykułem miejscami, co? ;) Dzięki wszystkim za dodatkowe sugestie. Mam nadzieję, że dzięki temu ktoś sobie zrobi taki setup backupów, że skończy jako Facebook Kopi Bezpieczeństwa.

  16. waltharius Says:

    Heh to ja jeszcze poproszę rozwiązanie dla 2000+ hostów ;-)
    A tak na poważnie to świetnie się rsync sprawdza nie tylko przy backupach. Przeniesienie systemu zainstalowanego na maszynie fizycznej na lvma dla xena też można za jego pomocą pieknie zrealizować. Tylko nie zapominajmy o –numeric-ids, które nam zachowa prawa do naszych pliczków tak jak oryginalne, niezależnie od /etc/passwd na nowej maszynie.
    Czasami warto też się zastanowić nad tarem, może być szybszy.

  17. CoSTa Says:

    Uuuu, guys, powiało profesjonalizmem że ała.

    Ja bardzo dziękuję za to info całe. Se muszę coś takiego do zrzucania danych na dysk sieciowy zrobić i pięknie Ci Opi timing wyszedł.

  18. zen Says:

    @waltharius: to tylko gówniany TSM zostaje

    @costa: przecież ty masz tajm maszin, po co ci rsync?

  19. GDR! Says:

    I nigdy, przenigdy niech was nie korci żeby użyć jakiegoś “Enterprise backup” typu Amanda. Właśnie nudzę się na linii z supportem który głowi się czemu nie działa restore.

  20. CoSTa Says:

    @zen
    Mam też hektary miejsca na NASie, które chcę obciążać kopiami rzeczy, które nie lądują mi w tajm maszin. Tajm maszin ma mi robić dobrze w bieżące prace i sprawy związane z przywróceniem systemu w razie jego wpadki. Dwa pozostałe terabajty mają się zapełniać robotowymi materiałami maści wszelakiej, które to materiały brane są z określonych miejsc na pracowym kompie (ot powiedzmy różne rzeczy z katalogu “Obrazki Fajnych Dupć Do Folderów” powinny się same zgrywać co jakiś czas w bezpieczne miejsce). W takim przypadku rsync do spółki z Automatorem i iCalem odwalą całą czarną robotę a ja jak biały człowiek będę mógł w międzyczasie ściągać jeszcze więcej Dupć do rzeczonego katalogu, coby wspomniane rsync, Atomator i iCal miały co robić :)

  21. Divide Says:

    Uroczo Ci blag przerabia double dash na ndashe.

  22. Emil Oppeln-Bronikowski Says:

    @Divide

    Prawda? A myślałem, że w pre sobie odpuści, czy coś. Nie chce mi się teraz tego naprawiać. Ale zerknę. Jutro.

    Chyba, że pojutrze.

  23. Divide Says:

    NB, tajm maszin to chyba jest właśnie jakiś obskrypcony rsync, no?

  24. Divide Says:

    @Opi,

    ale w pre sobie faktycznie odpuścił, tylko tam w tym ulu dalej masz ndashe.

  25. Robert Pankowecki Says:

    Można też użyć graficznej nakładki jaką jest flyback :-)

  26. Freeeman Says:

    Ok – do kompletu (i dla leniwych) ciekawą opcją jest dirvish – oskryptowuje rsync w ten sposób że trzyma ileś tam kolejnych pełnych backupów z wybranych dni. Przy czym robi to dość efektywnie, bo korzysta z hardlinków dla identycznych plików w kolejnych backupach. Zaleta – zawsze macie pełen backup (żadnych przyrostowych) i z więcej niż jednego dnia. Wada – jeśli agresywnie korzystacie z hardlinków, to dirvish/rsync może tego nie przeżyć (bo na liczbę hardlinków jest limit w ext2/ext3). Szczególnie jest to przyjemne dla backupów sprzed kilku miesięcy, które potrafią dzielić sporą liczbę plików z kopią aktualną (tradycyjny model z tar trzymałby dwa różne pełne backupy z tych dat). Dla ciekawych — wszystko to dzięki opcji –backupdir rsynca.

Leave a Reply