Rsync
Pro běžné uživatele
Tato varianta je vhodná pro uložení souborů jednoho uživatele, za předpokladu, že není potřeba zachovávat údaje o vlastnictví souborů.
K úložišti je možno takto přistupovat z různých strojů - např. provést zálohu jednoho systému, ale obnovu souborů udělat na více strojů (s různou vazbou mezi uživ.účty a uživ. identifikátory uid/gid
).
Doporučujeme při využívání rsyncu používat parametry
–numeric-ids
a
–rsync-path=„rsync –fake-super“
, čímž nedojde k mapování skupin na skupiny na úložišti, ale tyto údaje se uloží to extended atributů.
Dále je dobré kvůli možným problémům se změnou práv na nadřazeném adresáři, nespecifikovat znak „/“ na konci definice zdrojové cesty.
V neposlední řadě se prosím vyhněte zálohování dat přímo do home adresáře. Pro ukládání dat slouží adresáře jednotlivých migračních politik.
Podrobněji rozbor problémů
Podrobněji rozbor problémů
- Při používání rsyncu je důležité si dávat pozor na ukončování definice cest. Pokud totiž použiteje zdrojovou cestu ukočenou znakem „/“:
rsync -a ./data/ username@ssh.du4.cesnet.cz:~/VO_storage-tape_tape
dojde ke změně práv nadřazeného adresáře, což je v naší ukázce home adresář. Tím se můžete dostat do stavu, kdy změna práv umožní přístup i ostatním uživatelům k vašim datům!
Pokud bychom však zdrojovou cestu nezakončili znakem „/“:
rsync -a ./data username@ssh.du4.cesnet.cz:~/VO_storage-tape_tape
bude již vše v pořádku, protože rsync veme celou strukturu a tu překopíruje.
- Domovský adresář by však neměl sloužit, jako uložiště pro samotná data, na to jsou určeny adresáře představující migrační politiku. Z toho důvodu je velmi důležítě se seznámit s adresářovou strukturou na úložišti před náhráváním dat. Pokud toto pravidlo vždy dodržíte, vyhnete se problému se změnou práv na nadřazeném adresáři viz odstavec výše.
- V případě špatných parametrů rsyncu, kdy došlo ke změně skupin na nahraných datech a zárověn se jedná o větší množství dat, neprovádějte prosím nápravu sami, ale napište nám.
DU4 Ostrava ssh.du4.cesnet.cz
DU5 Jihlava ssh.du5.cesnet.cz
Řádkový rsync klient (Linux, Windows/cygwin)
Instalace rsync klienta pro příkazový řádek v prostředí Windows/Cygwin
V prostředí GNU/Linux instalace rsync
ve většině distribucí dostupná přímo ze správce balíčků.
Nedoporučujeme používat přepínač -c (–checksum) na offline data (data odmigrovaná na pásky). Jeho použití by vedlo k přesunu dat zpět na disky při každém porovnávání souborů. Výsledkem by byly velké zpoždění.
V případě většího počtu offline souborů doporučujeme použít přepínač -W.
Příklad použití pro zálohování adresářového stromu folder
na účet user
serveru host
do složky path
(rsync formát):
rsync -av ./folder user@host:path
Příklad obnovení adresářového stromu folder
z účtu user
serveru host
do aktuálního adresáře.
rsync -av user@host:path/folder .
GUI rsync klient Grsync (Windows, Linux)
Návod byl sepsán a testován pro násl. verze:
grsync v.0.6.3 na
OS Windows XP, grsync v.0.9.2 na
OS Linux
Jiné verze Grsync, případně i běžící na jiném operačním systému se
mohou chovat nebo vypadat trochu jinak.
Instalace programu Grsync pod Windows
Grafické rozhraní programu Grsync
ve Windows:
Grafické rozhraní pod GNU Linux / Xorg:
Popis grafického rozhraní
… zde je možno definovat a uložit předdefinované servery.
-
-
… Pozor: výzva k zadání přístupového hesla serveru nebo SSH klíče se může objevit v příkazovém okně, ze kterého byl program spuštěn, nebo které se spouští automaticky na pozadí.
… Při najetí myší nad zaškrtávací volby se zobrazuje nápověda s uvedením příslušného parametru pro řádkový rsync
.
Pro správce serverů
Tato varianta použití služby rsync
je vhodná pro uložení synchronizované zálohy souborového systému s údaji o vlastnictví a přístupových právech, kde je třeba tyto údaje u souborů zachovat.
Např. zálohování souborového serveru, který je využíván více uživateli a při případné obnově souborů ze zálohy musí být nastaveno vlastnictví a přístupová práva shodně jako u originálních souborů.
Podmínky použití této varianty:
v průběhu používání služby nad určitým adresářovým stromem je třeba volat rsync
se stále stejným nastavením parametrů --numeric-ids
a --fake-super
množina uživatelů ve zdrojovém systému musí mít neměnné přiřazení číselných identifikátorů účtů (uid/gid
).
k úložišti je třeba přistupovat pouze z jednoho zdrojového systému, nebo z více systémů, které ale mají stejné přiřazení číselných identifikátorů účtů (uid/gid
).
nedoporučujeme použití
GUI klienta
grsync
pod Windows v této variantě - v testech se zde objevilo nesprávné mapování
uid/gid
uživatelů.
Nedodržením těchto podmínek dojde velmi pravděpodobně k nekonzistenci údajů o vlastnictví souborů. V případě špatných parametrů rsyncu, kdy došlo ke změně skupin na nahraných datech a zárověn se jedná o větší množství dat, neprovádějte prosím nápravu sami, ale napište nám.
Je dobré kvůli možným problémům se změnou práv na nadřazeném adresáři, nespecifikovat znak „/“ na konci definice zdrojové cesty.
V neposlední řadě se prosím vyhněte zálohování dat přímo do home adresáře. Pro ukládání dat slouží adresáře jednotlivých migračních politik.
Podrobněji rozbor problémů
Podrobněji rozbor problémů
- Při používání rsyncu je důležité si dávat pozor na ukončování definice cest. Pokud totiž použiteje zdrojovou cestu ukočenou znakem „/“:
rsync -a ./data username@ssh.du4.cesnet.cz:~/VO_storage-tape_tape
dojde ke změně práv nadřazeného adresáře, což je v naší ukázce home adresář. Tím se můžete dostat do stavu, kdy změna práv umožní přístup i ostatním uživatelům k vašim datům!
Pokud bychom však zdrojovou cestu nezakončili znakem „/“:
rsync -a ./data username@ssh.du4.cesnet.cz:~/VO_storage-tape_tape
bude již vše v pořádku, protože rsync veme celou strukturu a tu překopíruje.
- Domovský adresář by však neměl sloužit, jako uložiště pro samotná data, na to jsou určeny adresáře představující migrační politiku. Z toho důvodu je velmi důležítě se seznámit s adresářovou strukturou na úložišti před náhráváním dat. Pokud toto pravidlo vždy dodržíte, vyhnete se problému se změnou práv na nadřazeném adresáři viz odstavec výše.
Význam použitých parametrů
Nedoporučujeme používat přepínač -c (–checksum) na offline data (data odmigrovaná na pásky). Jeho použití by vedlo k přesunu dat zpět na disky při každém porovnávání souborů. Výsledkem by byly velké spoždění.
V případě většího počtu offline souborů doporučujeme použít přepínač -W.
--numeric-ids
při použití tohoto parametru serverový proces nepoužije k mapování uid/gid hodnot uživatelská/skupinová jména, ale použije přímo číselné hodnoty uid/gid ze zdrojového systému.
hodnoty uid/gid se proto nesmí měnit a je nutné v jednou adresářovém stromu parametr buď používat stále nebo vůbec nepoužívat.
--rsync-path
tento parametr umožňuje předat parametry serverovému procesu - v této variantě je využíván k předání parametru
--fake-super
:
--rsync-path="rsync --fake-super"
--fake-super
--super
tento parametr vynucuje
superuživatelské chování - změny vlastníků a práv u souborů. V testech byl potřeba pouze při obnově souborů na klienta pod
OS Windows. Pozor: při odesílání souborů na
nesuperuživatelský účet nelze tento parametr použít (správná volba je v tomto případě parametr
--fake-super
v
--rsync-path
).
Řádkový rsync klient (Linux, Windows/cygwin)
Linux
Příklad použití pro zálohování adresářového stromu folder
na účet user
serveru host
do složky path
:
rsync -av --numeric-ids --rsync-path="rsync --fake-super" ./folder user@host:path
Příklad obnovení adresářového stromu folder
z účtu user
serveru host
do aktuálního adresáře.
rsync -av --numeric-ids --rsync-path="rsync --fake-super" user@host:path/folder .
Windows/Cygwin
Příklad zálohování a obnovy adresáře uživatele Adminstrator
pod Windows:
rsync -av --numeric-ids --rsync-path="rsync --fake-super" /cygdrive/c/Documents\ and\ Settings/Administrator user@host:path
Při obnově pod Windows může být potřeba dodatečný parametr --super
pro správné obnovení informací o vlastnictví souborů a přístupových právech:
rsync -av --numeric-ids --super --rsync-path="rsync --fake-super" user@host:path/ /cygdrive/c/Documents\ and\ Settings/restore
Obecný zápis vzdáleného umístění:
uživatel@server:cesta
kde:
uživatel
… uživatelské jméno účtu, na který v datovém úložišti přistupujeme.
server
… doménové jméno serveru datového úložiště.
cesta
… cesta v souborovém systému datového úložiště relativní vůči domovskému adresáři uživatele.
DU4 Ostrava ssh.du4.cesnet.cz
DU5 Jihlava ssh.du5.cesnet.cz
Příklad:
user@ssh.du4.cesnet.cz:VO_storage-tape_tape/zalohy/1205-kveten
Znak "/" (resp. "\" u Windows mimo Cygwin) na konci definice zdrojového umístění má u
rsync
u speciální význam:
… použijete-li na konci uvedený znak, pracuje se s celým adresářem (složkou), tj. adresář se přímo objeví v cílovém prostoru
… pokud uvedený znak na konci nepoužijete, pracuje se pouze s obsahem adresáře (složky), tj. v cílovém prostoru se objeví pouze objekty obsažené v adresáři, nikoliv adresář samotný.
Kontrola integrity souborů
Pro kontrolu integrity souborů můžete využít aplikaci hasher, která je popsána v následujícím návodu.
Odkazy na zdroje o rsync
NAS Synology
Datové úložiště NAS Synology komunikuje standardně přes rsyncd, který z bezpečnostních důvodů nepovolujeme. Přes rsync je nicméně možné provádět zálohování na datová úložiště CESNET z NAS Synology. K tomu je však třeba využít CLI, v GUI toto nelze provést. Níže je pro ukázku dostupný jeden z možných přístupů využívající standardní SSH a rsync, které jsou součástí skriptu volaného cronem.
#!/bin/ash
LOG_FILE=/var/log/backup_`date '+%F'`.log
LOG_FILE_ERR=/var/log/backup_errors_`date '+%F'`.log
echo "`date '+%b %d %T'` ==== Start of transmission ====" >> $LOG_FILE
rsync -a --exclude="[#]recycle/" /volume1/backup service_account@ssh.duX.cesnet.cz:~/VO_nazev-tape_tape/ 1>> $LOG_FILE 2>> $LOG_FILE_ERR
RETURN_CODE=`echo $?`
echo "`date '+%b %d %T'`==== End of transmission ====" >> $LOG_FILE
# Back up logs as well
rsync -a /var/log/backup* service_account@ssh.duX.cesnet.cz:~/VO_nazev-tape_tape/