Android

Jak používat rsync pro místní a vzdálený přenos a synchronizaci dat

Configure Port Forwarding to Remotely Access Your Synology NAS | Synology

Configure Port Forwarding to Remotely Access Your Synology NAS | Synology

Obsah:

Anonim

Rsync je rychlý a univerzální obslužný program příkazového řádku, který synchronizuje soubory a složky mezi dvěma umístěními přes vzdálený shell nebo od / do vzdáleného démona Rsync. Poskytuje rychlý přírůstkový přenos souborů přenosem pouze rozdílů mezi zdrojem a cílem.

Rsync lze použít pro zrcadlení dat, přírůstkové zálohy, kopírování souborů mezi systémy a jako náhradu za příkazy scp , sftp a cp pro každodenní použití.

V tomto tutoriálu vám ukážeme, jak používat rsync prostřednictvím praktických příkladů a podrobných vysvětlení nejběžnějších možností rsync .

Instalace programu Rsync

Obslužný program rsync je předinstalován na většině linuxových distribucí a macOS. Můžete zkontrolovat, zda je nainstalován ve vašem systému zadáním:

rsync --version

rsync version 3.1.2 protocol version 31

Nainstalujte Rsync na Ubuntu a Debian

sudo apt install rsync

Nainstalujte Rsync na CentOS a Fedora

sudo yum install rsync

Syntaxe příkazu Rsync

Než se podíváme na to, jak používat příkaz rsync , začneme kontrolou základní syntaxe.

Výrazy utility rsync mají následující podobu:

Local to Local: rsync…… DEST Local to Remote: rsync…… HOST:DEST Remote to Local: rsync… HOST:SRC…

  • OPTION - Možnosti rsync. SRC - zdrojový adresář. DEST - Cílový adresář. USER - Vzdálené uživatelské jméno. HOST - Vzdálené jméno hostitele nebo IP adresa.

rsync poskytuje řadu možností, které řídí každý aspekt jeho chování. Nejčastěji používané možnosti jsou:

  • -a , --archive , archivační režim, ekvivalentní -rlptgoD . Tato volba říká rsync aby synchronizoval adresáře rekurzivně, přenášel speciální a bloková zařízení, zachovával symbolické odkazy, časy úprav, skupinu, vlastnictví a oprávnění. -z , - --compress . Tato volba donutí rsync komprimovat data, jak jsou odeslána do cílového počítače. Tuto možnost použijte, pouze pokud je připojení ke vzdálenému zařízení pomalé. -P , ekvivalent k - --partial --progress . Je-li tato volba použita, rsync zobrazí během přenosu indikátor průběhu a ponechá částečně přenesené soubory. Je to užitečné při přenosu velkých souborů přes pomalé nebo nestabilní síťové připojení. --delete . Při použití této volby bude rsync smazat cizí soubory z cílového umístění. Je to užitečné pro zrcadlení. -q , - --quiet . Tuto možnost použijte, pokud chcete potlačit chybové zprávy. -e . Tato volba umožňuje zvolit jiný vzdálený shell. Ve výchozím nastavení je rsync nakonfigurován pro použití ssh.

Základní použití Rsync

Chcete-li zkopírovat jeden soubor z jednoho do druhého lokálního umístění, spusťte následující příkaz:

rsync -a /opt/filename.zip /tmp/

Uživatel, který příkaz spouští, musí mít oprávnění ke čtení v cílovém umístění a oprávnění k zápisu v cílovém umístění.

Vynechání názvu souboru z cílového umístění zkopíruje soubor s aktuálním názvem. Pokud chcete soubor uložit pod jiným názvem, zadejte nový název v cílové části:

rsync -a /opt/filename.zip /tmp/newfilename.zip

V níže uvedeném příkladu vytváříme lokální zálohu souborů našich webových stránek:

rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/

Pokud cílový adresář neexistuje, vytvoří jej rsync .

Stojí za zmínku, že rsync poskytuje odlišné zacházení se zdrojovými adresáři se zadním lomítkem / . Pokud do zdrojového adresáře přidáte koncové lomítko, zkopíruje se do cílového adresáře pouze obsah adresáře. Pokud je koncové lomítko vynecháno, rsync zkopíruje zdrojový adresář uvnitř cílového adresáře.

Jak používat Rsync pro synchronizaci dat z / do vzdáleného počítače

Pokud používáte rsync pro vzdálený přenos, musí být nainstalován na zdrojovém i cílovém počítači. Nové verze rsync jsou nakonfigurovány tak, aby používaly SSH jako výchozí vzdálený shell.

V následujícím příkladu převádíme adresář z místního na vzdálený počítač:

rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/ Pokud jste ke vzdálenému počítači nenastavili přihlášení SSH bez hesla, budete vyzváni k zadání uživatelského hesla.

Pokud chcete přenést data ze vzdáleného do místního počítače, musíte použít vzdálené umístění jako zdroj:

rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Pokud SSH na vzdáleném hostiteli poslouchá na jiném portu, než je výchozí 22, můžete port specifikovat pomocí volby -e :

rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/

Při přenosu velkého množství dat se doporučuje spustit příkaz rsync uvnitř relace obrazovky nebo použít volbu -P :

rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Vyloučit soubory a adresáře

Při vyloučení souborů nebo adresářů musíte použít jejich relativní cesty k zdrojovému umístění.

Existují dvě možnosti, jak vyloučit soubory a adresáře. První možností je použít argument --exclude a určit soubory a adresáře, které chcete vyloučit na příkazovém řádku.

V následujícím příkladu vylučujeme adresáře node_modules a tmp které jsou umístěny uvnitř src_directory :

rsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/

Druhou možností je použití argumentu --exclude-from a určení souborů a adresářů, které chcete v souboru vyloučit.

rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/ /exclude-file.txt

node_modules tmp

Závěr

V tomto tutoriálu jste se naučili, jak používat Rsync ke kopírování a synchronizaci souborů a adresářů. O stránce Rsync se dozvíte mnohem více na stránce Rsync User's Manual.

Pokud máte nějaké dotazy, neváhejte a zanechte komentář.

terminál rsync