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 root@66.152.163.19: 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 root@66.152.163.19: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 root@66.152.163.19:/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 root@66.152.163.19:/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 root@66.152.163.19:/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 root@66.152.163.19:/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.