Articles

jak používat příkaz rsync pro kopírování souborů na Ubuntu

rsync je nástroj pro kopírování souborů. rsync slouží ke kopírování souborů z počítače na vzdáleném počítači, ze vzdáleného počítače do počítače, z adresáře do jiného adresáře na stejném počítači, z vašeho počítače na externí pevný disk nebo síťové sdílené položky atd. rsync lze také použít, aby se přírůstkové zálohy.

v tomto článku vám ukážu, jak pomocí příkazu rsync kopírovat soubory a adresáře a provádět přírůstkové zálohování. Budu používat Ubuntu pro demonstraci. Ale každá moderní distribuce Linuxu by měla fungovat dobře. Takže začneme.

instalace rsync:

rsync by již měl být nainstalován na Ubuntu. Ale, pokud to není nainstalován na vašem počítači z nějakého důvodu, můžete snadno nainstalovat z oficiálních balíček repozitáře Ubuntu pomocí následujícího příkazu:

$ sudo apt install rsync -y

Formát Příkazu rsync:

základní podobě příkaz rsync je,

$ rsync možnosti zdroj cíl
  • zdroj může být soubor nebo adresář nebo síťovou cestu.
  • cíl může být adresář nebo síťová cesta.
  • rsync má mnoho možností. Pomocí těchto možností můžete změnit chování rsync. Podíváme se na některé z nejběžnějších možností.

Pokud používáte rsync, musíte znát následující věci:

  • pokud vložíte / za název adresáře do zdroje rsync, jako je myfiles/, znamená to zkopírovat všechny soubory z adresáře pouze do cíle.
  • Pokud nechcete dát / po název adresáře ve zdroji rsync jako myfiles, pak rsync zkopíruje všechny soubory z adresáře do cílového včetně adresáře.
  • Pokud zadáte cestu cílového adresáře, která neexistuje, rsync ji automaticky vytvoří podle potřeby.

zálohování místních souborů a adresářů pomocí rsync:

pomocí rsync můžete kopírovat soubory z jednoho adresáře do jiného adresáře v počítači velmi rychle.

řekněme například, že máte některé důležité soubory v adresáři ~/Downloads. Nyní chcete zálohovat všechny soubory z adresáře ~ / Downloads na USB flash disk/dev / sdb1 připojený v adresáři / mnt / myusb.

Udělejme nějaké fiktivní soubory v adresáři ~/Downloads.

$ touch ~ / Downloads / test{1..100}

zkopírujte všechny soubory z ~/ke Stažení adresář na /mnt/myusb directory s následující rsync příkaz:

$ rsync -avzh ~/Downloads/ /mnt/myusb

soubory by měly být zkopírovány.

Jak můžete vidět, jsou soubory v /mnt/myusb firem.

můžete také zkopírovat celý ~/Downloads adresáře na USB flash disk takto:

$ rsync -avzh ~/ke Stažení /mnt/myusb

Jak můžete vidět, celý adresář je zkopírován na flash disk USB.

Opět, pokud byste chtěli zkopírovat všechny soubory z ~/Downloads adresáře do jiného adresáře (řekněme mydownloads/) na USB flash disk, spustit rsync takto:

$ rsync -avzh ~/Downloads/ /mnt/myusb/mydownloads

Jak můžete vidět, že soubory jsou správně zkopírovat na USB flash disk.

Zálohování Vzdálených Souborů a Adresářů s rsync:

S rsync, můžete kopírovat soubory a adresáře ze vzdáleného serveru na váš lokální souborový systém, nebo USB flash disk pro zálohování účely. Můžete také kopírovat soubory a adresáře z místního souborového systému na vzdálený záložní server. rsync používá SSH pro kopírování souborů a adresářů do / ze vzdáleného serveru.

musíte mít SSH server paket (openssh-server na Ubuntu) a rsync balíček nainstalován na vzdáleném serveru, pokud chcete použít rsync pro zálohování účely.

například, řekněme, že chcete zkopírovat veškerý obsah (včetně adresáře) /www adresář ze vzdáleného serveru www.example1.com na váš USB flash disk namontován na cestu /mnt/myusb na vašem lokálním systému souborů.

K tomu, že, můžete použít následující rsync příkaz:

$ rsync -avzh [email protected]:/www /mnt/myusb

POZNÁMKA:: Zde root je vzdálené uživatelské jméno, www.example1.com je název DNS vzdáleného serveru a / www je adresářová cesta na vzdáleném serveru. Můžete také použít IP adresu vzdáleného serveru namísto názvu DNS, pokud chcete.

může se zobrazit následující zprávy, pokud se připojujete ke vzdálenému serveru poprvé. Stačí zadat Ano a pak stiskněte <zadejte>.

, zadejte heslo pro vzdálené uživatele (v mém případě je to kořen) a stiskněte tlačítko <Enter>.

Všechny soubory a adresáře uvnitř /www adresáři včetně adresáře /www by měly být zkopírovány na USB flash disk, jak můžete vidět na obrázku níže.

můžete také kopírovat soubory z místního systému souborů na vzdálený server s rsync.

v předchozím příkladu jste provedli zálohu adresáře / www na vzdáleném serveru. Nyní řekněme, že některé soubory na vzdáleném serveru jsou poškozené a chcete je obnovit ze zálohy.

K tomu, že, spusťte příkaz rsync takto:

$ rsync -avzh /mnt/myusb/www/ [email protected]:/www

, zadejte heslo vašeho vzdáleného serveru a stiskněte tlačítko <Enter>.

soubory by měly být zkopírovány z místního systému souborů na vzdáleném serveru.

Přírůstkové Zálohování s rsync:

V tomto typu zálohování, zdrojové a cílové adresáře jsou uloženy v synchronizaci. Pokud je nějaký soubor přidán do zdrojového adresáře, je přidán také do cílového adresáře. Stejným způsobem, pokud je odstraněn jakýkoli soubor nebo adresář ze zdrojového adresáře, je také odstraněn z cílového adresáře.

rsync je skvělý nástroj pro přírůstkové zálohování.

řekněme, že máte adresář ~/cloud v domovském adresáři uživatele. Nyní, chcete, aby se přírůstkové zálohování adresáře na USB flash disk namontován na cestu /mnt/usb1 na vzdáleném serveru backup.example.com.

POZNÁMKA:: Aby to fungovalo, musíte mít na vzdáleném serveru nainstalované balíčky openssh-server a rsync.

, Aby se přírůstkové zálohování ~/cloud, spusťte následující příkaz:

$ rsync -avzh –delete –progress ~/cloud/ [email protected]:/mnt/usb1/backup

Nyní, zadejte heslo pro vzdálené uživatele a stiskněte tlačítko <Enter>.

obsah ~/cloud adresář by měl být zkopírovány na USB flash disk na vzdáleném serveru.

Jak můžete vidět, všechny soubory jsou zkopírovány na USB flash disk namontován na vzdálený záložní server.

Teď pojďme odstranit soubor z místního systému souborů a uvidíme, co se stane.

$ rm ~/cloud/packages.txt

použití nástroje rsync pro synchronizaci adresářů znovu stejný příkaz jako předtím.

$ rsync -avzh –delete –progress ~/cloud/ [email protected]:/mnt/usb1/backup

Jak můžete vidět, soubor balíčků.txt je také odebrán z USB flash disku namontovaného na vzdáleném záložním serveru.

Kam dál:

Více informací o rsync naleznete na manuálové stránce rsync. Manuálová stránka rsync obsahuje podrobný popis všech možností rsync. Vřele doporučuji, abyste se na to podívali.

můžete přístup na manuálové stránky rsync pomocí následujícího příkazu:

$ man rsync

to je, jak budete používat rsync pro kopírování souborů a vzít přírůstkové zálohy na Ubuntu. Díky za přečtení tohoto článku.