Rsync - synchronizuje zbiory dyskowe (np. na odległych maszynach). Program jest częścią standardowej dystrybucji Linuksa. Został użyty do backupowania baz danych SZARPa oraz do przegrywania na bieżąco zawartości bazy danych z serwera (z działającym parcookiem) na klienta (z SzarpDrawem).
rsync działa w dwóch konfiguracjach:
klient rsync <--> serwer rsync
klient rsync (korzysta z rsh) <--> serwer rshd
na pierwszym siedzi parcook i meaner. Następuje ciągły zapis do bazy (serwer);
na drugim mamy Linuksa w dużym dyskiem do robienia backupów (klient).
zainstalowany pakiet rsync (z rpm-ki),
ustawiony w inetd:
sprawdzić czy w /etc/services istnieje linijka
rsync 873/tcpJeśli nie, to ją dopisać!
sprawdzić czy w /etc/inetd.conf jest coś na kształt:
rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemonJeśli nie, to dopisać!
PrzeHUPować demona internetowego:
killall -HUP inetd
skonfigurowanego rsync-demona: tworzymy plik /etc/rsyncd.conf następującego formatu:
# poczatek pliku /etc/rsyncd.conf uid = root [baza] path = /opt/szarp/baza [home] path = /home # .. i tak dalej # EOFoczywiście możemy mieć również jedną sekcję albo bardzo dużo. Do ściągania bazy nie trzeba wcale żadnych dodatkowych opcji. Jako uid możemy wpisać dowolnego użytkownika zamiast roota, ważne, żeby miał prawo do wchodzenia do katalogów i ich odczytu.
instalujemy pakiet rsync (jeśli go jeszcze nie ma),
żeby ściągnąć bazę, wydajemy polecenie:
rsync -avz <adres_serwera>::baza <katalog_docelowy>gdzie <adres_serwera> to może być IP lub nazwa, <katalog_docelowy> to istniejący lokalnie katalog z prawami do zapisu, np.
rsync -avz 192.168.0.1::baza /sciagnieta_baza
żeby ściągnąć katalogi użytkowników wystarczy wklepać:
rsync -avz 192.168.0.1::home /sciagniete_katalogi
WAŻNE! Powtórne wywołanie tej samej komendy spowoduje ściągnięcie tylko nowych i zmodyfikowanych plików a nie wszystkiego od nowa.
Każdy zasób, który ściągamy tym sposobem musi być obecny w jakiejś sekcji w pliku /etc/rsyncd.conf
Bardzo ważny jest ten podwójny dwukropek "::" w komendzie. Oznacza on, ze korzystamy z rsyncd, a nie z rsh.
rsync może pracować nie tylko w trybie "pop", ale również w trybie "push". Ponieważ jest to mniej bezpieczne, wymagane jest ustawienie parametru w pliku /etc/rsyncd.conf po stronie serwera:
read only = falseWywołanie komendy w tym przypadku różni się tylko kolejnością parametrów, np.:
rsync -avz /katalogi 192.168.0.1::home
w poleceniu rsync -avz .. można pominąć parametr -v (bo to jest verbose) oraz -z (kompresja 'w locie'). Parametr -a oznacza archiwizację z zachowaniem wszystkich atrybutów plików (uid/gid/rwx/typ pliku).
Poprzedni | Spis treści | Następny |
Katalog współdzielony z wykorzystaniem Samby | Początek rozdziału | Ustalanie zadań do wykonania w systemie - crontab |