Program rsync je užitečný, pokud je potřeba pravidelně přenášet velké množství dat, která se příliš nemění. To je často případ záloh nebo staging serverů. Tyto servery obsahují kompletní adresářové stromy webserverů, které jsou pravidelně zrcadleny na webserver v demilitarizované zóně.
Program rsync lze provozovat ve dvou různých režimech. Může být používán
k archivování nebo kopírování dat. K tomu je na cílovém systému potřeba
pouze vzdálený interpret příkazů, např. ssh. Program rsync lze ale
používat také jako démon, který poskytuje
adresáře na síti.
Základní provozní režim rsync nevyžaduje žádné zvláštní nastavení. Program rsync umožňuje přímo zrcadlit celé adresáře na jiný systém. Následující příkaz například vytvoří zálohu domovského adresáře uživatele tux na záložním serveru sun:
rsync -baz -e ssh /home/tux/ tux@sun:backup
A tímto příkazem se adresář nahraje zpět:
rsync -az -e ssh tux@sun:backup /home/tux/
Použití se příliš neliší od běžného kopírovacího nástroje, jako např. scp.
Program rsync by ale měl být používán v režimu rsync,
který umožňuje plně využívat všechny jeho funkce. Lze tak učinit spuštěním
démona rsyncd na jednom ze systémů. Démon se konfiguruje v souboru
/etc/rsyncd.conf. Pokud například chcete aby byl
adresář /srv/ftp dostupný přes rsync, použijte
následující konfiguraci:
gid = nobody
uid = nobody
read only = true
use chroot = no
transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log
[FTP]
path = /srv/ftp
comment = An Example
Po provedení konfigurace spusťte rsyncd příkazem
rcrsyncd start.
Program rsyncd může být spouštěn i automaticky během startu systému. To
nastavíte v editoru úrovní běhu pomocí nástroje YaST nebo ručně příkazem
insserv rsyncd. Program rsyncd
může být také spuštěn pomocí xinetd, je to však doporučeno jen na
serverech, které rsyncd používají jen výjimečně.
Konfigurace v použitém příkladu rovněž vytváří protokolový soubor
/var/log/rsyncd.log, ve kterém jsou zaznamenávána
všechna spojení.
Přenos z klientského systému lze otestovat příkazem:
rsync -avz sun::FTP
Tento příkaz vypíše všechny soubory v adresáři
/srv/ftp na serveru. Požadavek je zaznamenán v
souboru /var/log/rsyncd.log. Pro zahájení skutečného
přenosu specifikujte cílový adresář. Aktuální adresář zapište jako
.. Například:
rsync -avz sun::FTP .
Implicitně se při synchronizaci pomocí rsync nemažou žádné soubory.
Pokud si chcete smazání souborů vynutit, musíte použít parametr
--delete. Pokud si chcete být jistí, že nebudou smazány
žádné novější soubory, použijte parametr --update.
Veškeré konflikty je nutné řešit manuálně.
Důležité informace o rsync naleznete v manuálových stránkách
(man rsync a
man rsyncd.conf).
Technický popis funkce rsync naleznete v souboru
/usr/share/doc/packages/rsync/tech_report.ps.
Novinky o rsync najdete na webové stránce projektu na adrese
http://rsync.samba.org/.