Kopírování souborů pomocí rsync přes SSH
V tomto návodu si ukážeme jednotlivé kroky pro zkopírování souborů pomocí rsync přes SSH na platformách Debian, CentOS nebo Ubuntu Linux.
Co je rsync?
rsync je nástroj pro přesun a synchronizaci souborů mezi serverama. Pro zabezpečené připojení nástroj používá SSH protokol. rsync nabízí také velké množství nastavení, například archivaci, zálohování, komprese dat během přenosu apod.
Instalace rsync
Pokud rsync není zahrnut v základní instalaci serveru, nástroj můžeme přidat pomocí výchozího správce balíčků.
CentOS
Debian/Ubuntu
Kontrola SSH připojení
Pro přesun souborů je potřeba mít funkční SSH přípojení. Ověření SSH připojení lze udělat pomocí příkazu
kde x.x.x.x je IP adresa serveru, kam budeme soubory přenášet, nebo ze kterého soubory budeme stahovat. IP Adresu lze nahradit za hostname vzdáleného serveru.
Pokud je SSH připojení navázáno, neměly by být žádné další problémy týkající se přenosu souborů.
Pozn. podle ověřovací metody, nastavené na serveru, může být potřeba zadat SSH heslo při spuštění rsync.
Práce s rsync
Kopírování souboru z lokálního na vzdálený server
V přikladu, kopírujeme soubor testfile.txt z lokálního serveru na vzdálený a soubor ukládáme do složky /home/vzdalenyuzivatel/rsync
Pokud je SSH port vzdáleného serveru nastavený na jiný než výchozí port (výchozí je 22), můžeme port specifikovat pomocí parametru -e.
Kopírování souboru ze vzdáleného serveru do složky na lokálním serveru
Kopírujeme soubor ze vzdáleného serveru ze složky /home/vzdalenyuzivatel/rsync/ do lokální složky /home/lokalniuzivatel/
Synchronizace lokální složky se složkou na vzdáleném serveru.
Synchronizace složky na vzdáleném serveru s lokální složkou.
Použití "/" na konci cesty:
Zdrojová složka
Pokud je znak "/" umístěn na konci cesty zdrojové složky, rsync zkopíruje pouze obsah složky.
Pokud na konci cesty znak "/" není, rsync zkopíruje složku s jejím obsahem
Cílová složka
Pokud je znak "/" umístěn na konec cílové cesty, rsync vloží data přímo do složky.
Pokud na konci cesty znak "/" není, rsync vytvoří novou složku a vloží data do nově vytvořené složky.
Seznam základních možností rsync:
- --delete - odstraní data, která neexistují na zdrojové cestě
- -v - verbose (-vv zobrazí více informací)
- -e "ssh options" - specifikuje ssh připojení jako vzdálený shell
- -a - archive mode - zachovává oprávnění (vlastníka, skupiny), čas, symbolické odkazy
- -r - rekurze do adresářů
- -z - komprese dat během přesunu
- --exclude 'foldername' – vyloučí specifikovanou složku v přenosu
- -P – zobrazí postup během přesunu