GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak používat Rsync

Úvod

Remote sync neboli příkaz rsync se používá pro přenos a synchronizaci souborů a adresářů mezi počítači, hostiteli, vzdálenými shelly nebo kombinací výše uvedených. Je to mocný nástroj, o kterém byste měli vědět, pokud pracujete s Linuxem. Zde probereme základy příkazu rsync. Ačkoli tento článek používá Ubuntu 20.04, stejné příkazy můžete použít i v jiných distribucích Linuxu.

Proč je rsync tak výjimečný?

Příkazy rsync používají kompresi a dekompresi při přijímání a odesílání souborů, což znamená, že spotřebují mnohem méně šířky pásma. Rsync pouze aktualizuje rozdíly mezi zdrojem a cílem, protože používá protokol vzdálené aktualizace. Podporuje také vlastníky, skupiny, odkazy, oprávnění a zařízení.

Jak nainstalovat rsync?

Většina distribucí Linuxu je dodávána s nainstalovaným rsync. V případě, že ten váš ne, použijte na svém systému Ubuntu následující příkaz:

sudo apt-get install rsync

Syntaxe Rsync

Tato část stručně zopakuje syntaxi rsync.

Přenos z místa na místní nebo synchronizace

rsync {option} {zdroj} {cíl}

Přenos nebo synchronizace z místního na vzdálený

rsync {option} {zdroj} {[e-mail chráněn]:destination}

Vzdálený na místní přenos nebo synchronizaci

rsync {option} {[e-mail chráněn]:destination} {destination}

Zdroj je zdrojový adresář

Cíl je cílový adresář

Možností jsou možnosti příkazu rsync

Uživatel je vzdálené uživatelské jméno

Host je IP nebo název vzdáleného hostitele

Jak používat rsync

Kopírovat soubory lokálně

Chcete-li kopírovat soubory lokálně, použijte:

rsync –a {filename} {destination}

Ve výše uvedeném příkladu kopírujeme „source.zip ” z našeho aktuálního adresáře do složky Dokumenty.

Můžete zkontrolovat, zda byl soubor zkopírován, uvedením všech souborů a adresářů v Dokumentech pomocí:

ls

Jak můžete vidět, „source.zip ” se nachází v adresáři Dokumenty.

Pokud do cíle nepřidáte název souboru, zkopíruje se stejný název jako zdrojový soubor. Chcete-li změnit název cílového souboru, použijte:

rsync –a {filename} {destination/filename}

V níže uvedeném příkladu zkopírujeme „source.zip “ znovu, ale tentokrát jej přejmenujte na „destination.zip “.

destination.zip ” byl zkopírován do adresáře Documents, jak je znázorněno na obrázku níže.

Zkopírujte obsah adresáře do cíle

Pomocí níže uvedeného příkazu můžete zkopírovat obsah vašeho zdrojového adresáře do cíle.

rsync –av {source}/ {destination}

Výše uvedený obrázek ukazuje obsah „Zdroj “, který se kopíruje do „Cíl ” adresář.

Zkopírujte celý adresář do cíle

Pokud chcete pouze zkopírovat obsah vašeho adresáře do cíle, použijte:

rsync –av {source} {destination}

Výše uvedený příklad kopíruje „Zdroj “ a jeho obsah do „Cíl ” adresář.

Zobrazit průběh

Pro zobrazení průběhu použijte:

rsync –rv –progress {source} {destination}

Ignorovat soubory

Pokud chcete ignorovat určité soubory, použijte:

rsync -vr --exclude '{condition}' {source} {destination}

Zdroj ” adresář obsahuje následující soubory:

V níže uvedeném příkladu budeme ignorovat soubory, které začínají „s “.

Jak ukazuje obrázek, pouze „soubor “ je zkopírován.

Seznam souborů a adresářů

rsync lze použít k výpisu obsahu zdroje.

rsync {filename}

Výše uvedený příkaz vypíše obsah adresáře Documents.

Kopírování souborů z místního na vzdálený počítač

Pro přesun souborů na vzdálený počítač budete muset nainstalovat openssh-server. Příkaz k tomu je:

sudo apt update
sudo apt install openssh-server

Jakmile je toto nainstalováno, můžete pomocí níže uvedeného příkazu přesunout svůj soubor nebo adresář.

rsync –a {source} {remote [email protected] IP:/destination}

Budete požádáni o heslo vzdáleného počítače.

V níže uvedeném příkladu přesuneme „doc ” do vzdáleného domovského adresáře.

Pomocí ls můžeme vidět, že „doc ” byl přesunut sem.

Kopírování souborů ze vzdáleného počítače na místní počítač

Použijete stejný příkaz jako ve výše uvedeném příkladu.

rsync –a {remote source} {local [email protected] IP:/destination}

V tomto příkladu budeme přesouvat „remotesrcdoc ” ze vzdáleného počítače na místní počítač.

Pomocí ls můžeme vidět, že „remotesrcdoc ” byl přesunut sem.

Přidat aktuální datum do cílového souboru

Datum můžete přidat k názvu cílového souboru nebo adresáře pomocí:

rsync -av /home/test/Desktop/Linux /home/test/Desktop/rsync$(date +\\%Y-\\%m)

V níže uvedeném příkladu přesuneme „source.zip ” na plochu, pojmenujte jej jako cíl a přidejte na něj datum.

Zobrazení rozdílů mezi zdrojovými a cílovými soubory
Níže uvedený příkaz lze použít k zobrazení rozdílů mezi zdrojovými a cílovými soubory.

rsync –avzi {source}/ {destination}/

Obrázek níže ukazuje, že soubory „Donuts “ a „Ahoj.txt ” nejsou přítomny v cílovém adresáři.

Parametr „f “ znamená soubor. Mezi další parametry patří:

t:změna časového razítka

d:změna cíle

s:změna velikosti souboru

Omezit šířku pásma při přenosu souborů

Chcete-li omezit šířku pásma při přenosu souborů, použijte:

rsync -vr --bwlimit=1000 {source}/* {destination}

V níže uvedeném příkladu omezujeme šířku pásma na 1000 kB.

Další informace o rsync

Chcete-li zobrazit další dostupné možnosti na rsync, použijte:

rsync –help

Probrali jsme některé základy příkazu rsync, viděli jsme, jak přenášet a synchronizovat soubory lokálně i vzdáleně.

Pokud chcete synchronizovat soubory pomocí příkazu scp, navštivte zde.


Ubuntu
  1. Linuxový příkaz rsync:jak jej používat

  2. Jak používat Chromecast?

  3. Jak používat Xkbprint?

  1. Jak používat BusyBox na Linuxu

  2. Jak používám cron v Linuxu

  3. Jak používat pokročilý rsync pro velké zálohy Linuxu

  1. Jak používat SSH Port Forwarding

  2. Jak používat příkaz Linux Rsync (vzdálená synchronizace).

  3. Jak použít příkaz 'cp' k vyloučení konkrétního adresáře?