Rsync, zkratka pro vzdálená synchronizace , je linuxový příkaz používaný pro kopírování a synchronizaci souborů mezi 2 systémy Linux. Funguje to tak, že jakékoli další změny provedené v souboru nebo adresáři jsou replikovány na jiný systém Linux.
Pomocí příkazu Linux rsync můžete bezproblémově kopírovat a synchronizovat zálohy lokálně i vzdáleně mezi systémy Linux a servery. V tomto článku prozkoumáme různé možnosti příkazů, které můžete použít spolu s příkazem rsync.
Základní syntaxe příkazu Linux rsync
Syntaxe rsync je stručně shrnuta níže.
$ rsync options source destination
Možnosti používané s příkazem rsync
- -z :Toto komprimuje data.
- -v :Toto zobrazí proces v podrobném režimu.
- -r :Tato možnost kopíruje data rekurzivně (v průběhu přenosu dat však tato možnost nezachovává časová razítka a oprávnění k souboru).
- -h :Tento výstup poskytuje informace ve formátu čitelném pro člověka.
- -a :To umožňuje nejen rekurzivní kopírování souborů, ale také zachovává symbolické odkazy, časová razítka, oprávnění k souborům a také vlastnictví uživatelů a skupin.
Kopírovat soubory a adresáře lokálně
Soubor můžete synchronizovat lokálně z jednoho umístění do druhého v počítači se systémem Linux pomocí příkladu uvedeného níže.
$ rsync -zvh backup.tar /opt/backup_dir
Ve výše uvedeném příkladu je tarball backup.tar
je zkopírován a synchronizován do /opt/backup_dir
adresář.
Ukázkový výstup
Pro místní zkopírování adresáře z jednoho umístění do druhého :
Syntaxe bude podobná kopírování souborů, pouze v tomto případě použijeme -a
příznak pro rekurzivní kopírování.
V níže uvedeném příkladu kopírujeme a synchronizujeme deb_packages
do adresáře /opt/backup_dir
adresář.
$ rsync -azvh deb_packages /opt/backup_dir
Ukázkový výstup
Kopírování/synchronizace souborů nebo adresářů na a ze vzdáleného serveru
Chcete-li zkopírovat adresář na vzdálený server, musíte vedle cílové složky zadat uživatelské jméno a IP adresu serveru.
V níže uvedeném příkladu deb_packages
adresář je zkopírován na vzdálený server s IP 66.152.163.19
pomocí přihlašovacích údajů uživatele root a uloženy v kořenovém domovském adresáři.
$ rsync -avz deb_packages [email protected]:
Ukázkový výstup
Kopírování a synchronizace adresáře ze vzdáleného serveru do místního počítače :
Chcete-li kopírovat a synchronizovat soubory ze vzdáleného systému do místního systému Linux, použijte níže uvedený příklad
$ rsync -avzh [email protected]:documents /opt/backup_dir
Ve výše uvedeném příkladu je to adresář documents
se rekurzivně zkopíruje ze vzdáleného systému s IP 66.152.163.19
do místního systému v /opt/backup_dir
adresář.
Příkaz Rsync přes SSH
Rsync lze použít spolu s protokolem SSH k zabezpečení nebo šifrování souborů odesílaných do a ze systému Linux. to zajišťuje, že nikdo nemůže odposlouchávat data, která přenášíte po síti.
Kopírování souboru z místního serveru na vzdálený server pomocí rsync přes SSH:
V tomto příkladu použijeme -e
volba s rsync k určení protokolu, v tomto případě SSH.
$ rsync -avhze ssh backup.tar [email protected]:/backup_dir
Ukázkový výstup
Kopírování souboru ze vzdáleného serveru do místního systému pomocí rsync přes SSH:
Stejně jako v předchozím příkladu je příkaz rsync použit společně s -e
možnost.
$ rsync -avzhe ssh [email protected]:/backup_dir /tmp/
Ukázkový výstup
Zobrazení průběhu přenosu dat pomocí příkazu rsync
Pokud chcete zobrazit průběh přenosu dat, použijte --progress
volba. Zobrazí se soubor a odhadovaný čas dokončení přenosu dat.
Ukázkový výstup
Linuxový příkaz rsync s možnostmi –include a –exclude
Tyto možnosti výše pomáhají uživatelům include
a exclude
soubory, které mohou chtít zahrnout nebo vyloučit z procesu synchronizace.
V níže uvedeném příkladu příkaz rsync zahrne tyto soubory do /var/lib
adresář, který začíná „p“ a vylučuje všechny ostatní soubory a adresář.
$ rsync -avz --include 'p*' --exclude '*' /var/lib [email protected]:/opt/backup_dir
Ukázkový výstup
Nastavit maximální velikost souborů k přenosu
Pomocí možnosti „–max-size“ můžete definovat maximální velikost souboru, který se má přenést a synchronizovat.
$ rsync -avzh --max-size='50M' deb_packages [email protected]:/opt/backup-dir
Výše uvedený příkaz omezuje přenos souboru v deb_packages
adresář na 50 megabajtů. To znamená, že budou přeneseny a synchronizovány pouze soubory o velikosti 50 MB nebo menší.
Ukázkový výstup
Po úspěšném přenosu smažte zdrojové soubory
Pokud vytváříte záložní kopii souborů do vzdáleného cíle, ale nechcete si ponechat místní kopii, použijte –remove-source-files
možnost, jak je uvedeno.
$ rsync --remove-source-files -zvh backup.tar /tmp/mybackups/
Ukázkový výstup
Doufáme, že tento článek byl pro vás přínosem. Máte-li jakýkoli dotaz, obraťte se na nás se zpětnou vazbou.