GNU/Linux >> Znalost Linux >  >> Linux

15 Praktické příklady příkazu Rsync v Linuxu

Příkaz Rsync nám umožňuje přenášet a synchronizovat soubory přes připojení SSH nebo místní počítač mezi různými adresáři a počítači. Pokud někdy potřebujete zálohovat svůj adresář nebo synchronizovat data, Rsync je jedním z nejlepších nástrojů pro zálohování systému. Použití Rsync je mnohem efektivnější než pouhé kopírování souborů, protože Rsync zkopíruje pouze to, co se liší.

Pokud se například pokoušíte zálohovat 1000 fotografií, Rsync vybere pouze ty konkrétní soubory, které jsou buď nové, nebo se od poslední zálohy liší. A také, pokud kopírujete data a ztratíte síťové připojení a znovu spustíte příkaz Rsync, bude vědět, kde skončil, a nemuselo by začínat znovu.

Jako správce systému Linux musíte znát několik hlavních a praktických příkladů příkazů Rsync v Linuxu, aby vaše práce byla plynulejší.

Funkce Rsync v Linuxu

Zde přidávám několik základních funkcí Rsync. Můžete si projít níže uvedené body pro podrobný přehled příkazu remote sync, který vám později pomůže pochopit příklady příkazů Rsync v Linuxu.

  • Příkaz Rsync může kopírovat soubory, adresáře a podadresáře.
  • Jelikož Rsync používá algoritmus delta-transfer, nástroj přeskakuje soubory, které jsou již v cílové adrese.
  • Rsync ignoruje soubor, který je přesně stejný jako klientský a hostitelský systém.
  • Rsync můžete použít jak pro SSH, tak pro místní počítač.
  • Může provádět příkazy tar spolu s kopírováním souborů.
  • Ve většině případů Rsync nepotřebuje sudo privilegium.
  • Pro rychlejší přenos souborů a udržení nižší latence můžete použít příkazy kanálu spolu s Rsync.
  • Pro kopírování souborů přes web používá Rsync protokol TCP.
  • Rsync může snížit množství požadované šířky pásma.
  • Nemůžete kopírovat soubory mezi dvěma nebo více vzdálenými hostiteli prostřednictvím Rsync v systému Linux.

Syntaxe vzdálené synchronizace v systému Linux

Zde přidávám několik nejdůležitějších syntaxí a synopse Rsync. Procházení syntaxí a příznaků je důležité pro lepší pochopení příkladů příkazů Rsync v Linuxu.

Uvedené formáty příkazů jsou pro přenos souborů na místním počítači.

rsync [OPTION...] SRC... [DEST]

Rsync používá daný formát příkazu pro přenos souborů přes vzdálený shell.

- -
Vytáhněte:rsync [MOŽNOST...] [[email protected]]HOST:SRC... [DEST]Push:rsync [MOŽNOST...] SRC... [[email protected]] HOST:DEST

Rsync používá daný formát příkazu pro přenos souborů, když přistupuje k hostiteli jako démon.

Pull:rsync [MOŽNOST...] [[email protected]]HOST::SRC... [DEST]rsync [MOŽNOST...] rsync://[[email protected]]HOST[:PORT]/SRC... [DEST]Push:rsync [OPTION...] SRC... [[email protected]]HOST::DESTrsync [OPTION...] SRC... rsync://[příklad @unixlinux.online]HOST[:PORT]/DEST

Nainstalujte Rsync na Linux

Než se vrhneme na příklady příkazů Rsync v Linuxu, musíme zkontrolovat, zda máme nástroj nainstalovaný v systému nebo ne. Ve výchozím nastavení je Rsync předinstalovaný se všemi hlavními distribucemi Linuxu. Pokud tedy zjistíte, že nástroj není ve vašem systému nainstalován, můžete nástroj Rsync snadno získat na svém počítači. Zde uvádím příkazy pro hlavní distribuce Linuxu k instalaci Rsync.

Získejte Rsync pro Fedora a Red Hat Linux

sudo yum install rsync -ysudo dnf install rsync -y

Nainstalujte Rsync na Debian/Ubuntu Linux

sudo apt install rsync -y

Nástroj Rsync můžete získat z příkazů Snap na systémech Arch Linux. Proveďte prosím níže uvedené příkazy, abyste získali nástroj Rsync na Arch Linux. Nejprve naklonujte úložiště v Linuxu.

klon git https://aur.archlinux.org/snapd.gitcd snapdmakepkg -si

Nyní proveďte systémové řídicí příkazy pro použití soketů. Poté spusťte příkaz Snap pro instalaci nástroje.

sudo systemctl enable --now snapd.socketsudo ln -s /var/lib/snapd/snap /snapsudo snap install rsync-leftyfb

Nakonec, když instalace skončí, můžete nyní zkontrolovat stránku nápovědy Rsync v shellu terminálu.

$ rsync --help

Rsync v Linuxu

Rsync je zkrácená forma příkazu Remote synchronization. Tento nástroj Rsync je k dispozici pro Mac i Linux. V obou případech jsou syntaxe a styly příkazů v podstatě stejné. Nyní, když říkáme vzdálená synchronizace, nemusí to vždy nutně znamenat, že budete muset synchronizovat nebo kopírovat soubory přes SSH nebo internet.

Můžete také spustit Rsync na stejném počítači pro synchronizaci dvou různých adresářů nebo podadresářů. Velmi efektivní využití Rsync je vidět v aktualizaci repozitářů balíčků a alternativních nebo zrcadlových serverů.

V tomto příspěvku uvidíme několik příkladů nejpoužívanějších a nejvýkonnějších příkazů Rsync pro Linux.

Příklady Rsync v Linuxu

Zde je několik základních příkladů příkazu a formátu Rsync v Linuxu. Níže uvedený formát je formát příkazu a druhý je pro použití Rsync přes SSH.

V Linuxu Rsync vytvoří spojení přes SSH připojení, když jej spustí v prostředí hostitel-klient. Když vzdálený uživatel nebo klient přijme připojení, klient Rsync automaticky probudí Rsync na hostitelském systému.

Obecný formát příkazu Rsync

$ rsync [možnosti] zdroj [cíl]

Formát příkazu Rsync pro připojení SSH

$ rsync local-file [email protected]:remote-file

1. Příkaz vzdálené synchronizace pro zkopírování všech souborů do adresáře

Níže uvedený příklad příkazu Rsync na Linuxu zkopíruje všechny soubory z Dokumentů do adresáře /tmp/documents.

$ rsync -av Documents/* /tmp/documents

V tomto příkazu jsme použili tři příznaky; -a a -v a *. Zde je vysvětlení toho, co v příkazu dělají.

  • -a:Parametr -a provede příkaz způsobem archivace/knihovny.
  • -v:Parametr -v se používá ke spuštění Rsync jako podrobného.
  • – *:Symbol * zajišťuje výběr a zkopírování všech souborů.

Nyní, když přidáme nějaké nové soubory do původního adresáře a znovu spustíme Rsync, zkopíruje nové soubory a upozorní na verbální výstup v shellu.

$ rsync -av Documents/* /tmp/documents

Níže uvedený příkaz nám umožní spustit test, abychom věděli, které soubory se budou synchronizovat, abychom se vyhnuli chybám.

$ rsync -aunv /home/ubuntupit/Documents/* /home/ubuntupit/Pictures/

Po spuštění testovací kontroly můžeme nyní spustit skutečný příkaz odstraněním parametru -n na příkazu.

$ rsync -auv /home/ubuntupit/Documents/* /home/ubuntupit/Pictures/

2. Příklad příkazu Rsync přes SSH

Doposud jsme viděli několik příkladů Rsync, jak jej spustit na místním počítači. Zde uvidíme, jak jej spustit přes servery. Všechny syntaxe jsou stejné; stačí zadat adresu webového serveru a uživatelské jméno.

$ rsync -av --ignore-existing Documents/* [email protected]:~/all/

3. Příklady Rsync v Linuxu:Dry Run Rsync

V programování je termín suchý běh definován jako provedení příkazu pouze za účelem zobrazení náhledu nebo chybné provedení pro kontrolu toho, co se může stát, pokud příkaz spustíme. Zde můžeme použít příkaz dry run pro Rsync.

Níže uvedené příklady příkazu Rsync nám umožní zkontrolovat, jaké soubory budou synchronizovány v hostitelském systému ze vzdáleného serveru Linux. Později můžeme příkaz provést bez suchého běhu.

$ rsync -av --dry-run --update Documents/* [email protected]:~/all/$ rsync -av --update Documents/* [email protected]:~/all/ 

4. Synchronizace souborů mezi místním počítačem a vzdáleným serverem

Výše uvedený příkaz ukazuje, jak odesílat soubory buď z místního počítače na místní počítač, nebo ze serveru na jiného hostitele. Níže uvedený příklad Rsync ukazuje, jak můžete tento nástroj použít k odesílání souborů z místního počítače na vzdálený počítač se systémem Linux.

rsync [možnosti] [soubory] [vzdálené-uživatelské jméno]@[ip-adresa]:/[cíl]

5. Přenos souborů ze vzdáleného serveru do místního počítače

Opakem výše uvedeného příkazu, níže uvedený příklad příkazu Rsync ukáže, jak můžete odesílat soubory ze vzdáleného linuxového serveru na váš místní počítač.

rsync -rv [email protected]:/home/ubuntupit/Backup /home/ubuntupit/Desktop/Original

6. Zobrazení průběhu pomocí Rsync

To je velmi důležité pro ty, kteří potřebují přenášet velké soubory pomocí nástroje Rsync. Například níže zmíněný příklad příkazu Rsync ukazuje, jak můžete sledovat a sledovat průběh přenosu v CLI na Linuxu.

sudo rsync -rv --progress Original/* /etc/ubuntupit

Chcete-li do procesu synchronizace přidat konkrétní soubor, můžete spustit příkaz Rsync s příznakem „–include“.

sudo rsync -vr --include 'I*' Original/ /etc/Backup/

7. Chcete-li soubory ignorovat, použijte Rsync s „–exclude“.

S Rsync můžete také použít vyloučení příkaz k vyloučení jakéhokoli souboru z vašeho příkazu. Níže uvedený příklad příkazu Rsync v Linuxu nám ukazuje, jak vyloučit soubor, který nechceme synchronizovat. Zde jsem vyloučil soubor To_check_rsync_two (další kopie).txt k synchronizaci prostřednictvím tohoto příkazu Rsync na mém systému Linux.

$ sudo rsync -vr --exclude 'To_check_rsync_two (další kopie).txt' /home/ubuntupit/Desktop/ /home/ubuntupit/Documents/

Stejným způsobem můžete také zahrnout soubor, pokud chcete násilně zahrnout, o kterém si myslíte, že jej rsync ve výchozím nastavení nepřidá.

sudo rsync -vr --exclude '*' --include 'I*' Original/ /etc/Backup/

Chcete-li odstranit nebo smazat soubor, který má být synchronizován pomocí příkazu Rsync, můžete použít příznak -delete v příkazu na shellu terminálu.

rsync -vr --delete /etc/Backup/ [email protected]:/home/ubuntupit/Backup

8. Nastavte limit maximální velikosti

Pokud na počítači používáte omezené množství dat o šířce pásma a potřebujete předat více souborů, ale nevíte, kdy je potřeba zastavit přenos, abyste ušetřili šířku pásma, můžete použít níže uvedený příklad Rsync příkaz k omezení maximální velikosti přenášeného souboru.

rsync -vr --max-size='200k' /etc/Backup/ [email protected]:/home/ubuntupit/Backup

9. Automaticky odstranit zdrojové soubory po přenosu

Pokud má váš hostitelský počítač omezený prostor na disku a chcete soubor smazat současně poté, co byl soubor přenesen do vašeho systému, můžete použít příznak delete s příkazem Rsync na linuxovém terminálu.

$ rsync -vr --remove-source-files Original/* [email protected]:/home/ubuntupit/backups/

10. Synchronizujte celé soubory pomocí vzdálené synchronizace

Zatím jsme viděli, že příkaz Rsync synchronizuje pouze ty soubory, které nebyly upraveny nebo upraveny. Pokud však chcete synchronizovat všechny své upravené a neupravené soubory, můžete použít níže uvedený příkaz Rsync.

rsync -vrW Original/* [email protected]:/home/ubuntupit/Backup

11. Zastavit synchronizaci upravených souborů v cíli

Po výběru celého systému, pokud nechcete synchronizovat konkrétní soubor nebo složku, můžete tuto cestu přiřadit příkazu Rsync, takže nástroj Rsync cestu pro synchronizaci přeskočí.

rsync -vu Original/* [email protected]:/home/ubuntupit/Backup

12. Přidejte příznak -i pro sledování rozdílu

Chcete-li zobrazit rozdíl mezi původním souborem a souborem po synchronizaci, použijte u příkazu příznak i.

rsync -avzi Original/ Backup/

13. Vzdálenou synchronizaci použijte pouze ke kopírování struktury adresáře

Tento příkaz je velmi zajímavý pro zájemce o kopírování nebo přenos souboru; nyní můžete použít příkaz rsync k zobrazení adresářové struktury pomocí příkazu rsync.

rsync -av -f"+ */" ​​-f"- *" /home/ubuntupit/Desktop/Original/ /home/ubuntupit/Documents/

14. Přidat datumové razítko k názvu adresáře

Chcete-li do souboru zahrnout časové razítko při jeho přenosu pomocí nástroje pro vzdálenou synchronizaci, můžete v příkazu pro cílové umístění použít formát razítka níže.

Cílový adresář:$(datum +\\%Y-\\%m-\\%d)sudo rsync -rv /home/ubuntupit/Documents/* /etc/$(datum +\\%Y-\ \%m-\\%d)

15. Vzdálené kopírování více souborů

Doposud jsme viděli, jak zkopírovat a přenést jeden soubor ze vzdáleného serveru na místní počítač nebo naopak z hostitelského počítače do místního počítače. Nyní uvidíme, jak můžeme přidat více souborů a přenést je pomocí jednoho příkazu Rsync. Chcete-li přidat více souborů, musíme v příkazu zadat všechny cesty k souborům.

rsync -vr /home/ubuntupit/Documents/To_check_rsync.txt /home/ubuntupit/Desktop/To_check_rsync_two.txt /home/ubuntupit/rsync -vr /home/ubuntupit/Documents/To_check_rsync.txt/home/ubunt /To_check_rsync_two.txt [email protected]:/home/ubuntupit/Backup

Statistiky!

Protože příkaz Rsync je napsán v programovacím jazyce C a funguje jako jednovláknová aplikace, může tento nástroj snadno komunikovat s jádrem a dalšími aplikacemi. V celém příspěvku jsme viděli nástroj Rsync a příklady příkazu Rsync v Linuxu pro efektivní přenos souborů přes stroje a servery.

Se správnou konfigurací a znalostmi můžete dokonce synchronizovat servery Apache pomocí příkazu Rsync. V některých případech může být příkaz Rsync spojen s příkazem kontrolního součtu, který může provést, zda byl soubor změněn nebo ne. Pokud vás více zajímá Rsync, můžete také vyzkoušet nástroj Rsync založený na grafickém uživatelském rozhraní.

Sdílejte jej prosím se svými přáteli a linuxovou komunitou, pokud považujete tento příspěvek za užitečný a informativní. Doporučujeme vám také napsat své názory na tento příspěvek do sekce komentářů.


Linux
  1. cp Command v Linuxu:7 praktických příkladů

  2. Linuxový příkaz rsync s praktickými příklady

  3. Příklady příkazů rm v Linuxu

  1. Linux Shutdown Command:5 praktických příkladů

  2. Praktické příklady příkazu rsync v Linuxu

  3. 5 Praktické příklady příkazu dd v Linuxu

  1. 10 Praktické příklady příkazů Linux nm

  2. 7 Příklady příkazů Linux df

  3. 8 Příklady příkazů Linux TR