GNU/Linux >> Znalost Linux >  >> Cent OS

Jak odesílat a stahovat soubory pomocí Rsync

Rsync znamená „vzdálená synchronizace“. Rsync je nejrobustnější, nejuniverzálnější a nejflexibilnější nástroj pro přenos souborů ve srovnání s jinými alternativami, jako je SCP. Je to skvělý nástroj pro každodenní operace serveru, jako je zálohování a obnova, a obecné operace se soubory mezi dvěma nebo více místními a vzdálenými počítači. V tomto článku vám ukážeme, jak odesílat a stahovat soubory pomocí rsync.

1. Syntaxe Rsync

Následující syntaxe je s největší pravděpodobností nejběžnější formou příkazu rsync, kterou uvidíte.

# rsync [options] /source /destination

Toto jsou běžně používané možnosti

-v, --verbose increase verbosity, provide more information about what the command is doing
-q, --quiet suppress non-error messages
-c, --checksum skip based on checksum, not mod-time and size
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
-r, --recursive recurse into directories
-u, --update skip files that are newer on the receiver
-d, --dirs transfer directories without recursing
-p, --perms preserve permissions
-E, --executability preserve executability
-A, --acls preserve ACLs (implies -p)
-X, --xattrs preserve extended attributes
-o, --owner preserve owner (super-user only)
-g, --group preserve group
-D same as --devices --specials
-t, --times preserve modification times
-S, --sparse handle sparse files efficiently
-n, --dry-run perform a trial run with no changes made
-W, --whole-file copy files whole (w/o delta-xfer algorithm)
-x, --one-file-system don't cross filesystem boundaries
-B, --block-size=SIZE force a fixed checksum block-size
-e, --rsh=COMMAND specify the remote shell to use
-P same as --partial --progress

Například budeme synchronizovat soubory z /var/www/html/ na /opt/backup/ . Pro dokončení můžeme spustit tento příkaz:

# rsync -Wav /var/www/html/ /opt/backup/

Zrušme příkaz nahoře. Možnosti jsou archiv (-a) , který říká rsync, aby kopíroval soubory rekurzivně a aby při kopírování souborů zachoval vlastnictví skupiny a uživatele. Tato volba je ve skutečnosti kombinací volby (-rlptgoD) to zahrnuje rekurzivní přenos, přenos časů úprav souborů, oprávnění k souborům, symbolické odkazy atd.

S tímto (-W) Volba delta-transfer algoritmus se nepoužije a celý soubor se odešle tak, jak je. Toto je výchozí nastavení, když je zdroj i cíl zadán jako místní cesta, ale pouze v případě, že není aktivní žádná možnost dávkového zápisu.

Podrobná volba (-v) řekne rsync, aby vytiskl další informace o tom, co dělá s terminálem.

2. Jak stahovat soubory pomocí Rsync

V předchozím kroku jsme se naučili kopírovat soubory z jednoho umístění do druhého pomocí rsync. Nyní budeme stahovat soubory ze vzdáleného serveru pomocí rsync. Příkaz je v podstatě stejný, jen potřebujeme nahradit zdroj SSH uživatelským jménem vzdáleného serveru, protože přenos bude používat SSH připojení.

# rsync [-options] user@SOURCE_IP_ADDRESS:/SOURCE /DESTINATION

Například chceme stáhnout nebo zkopírovat adresář z našeho serveru na IP adrese 1.2.3.4 na jiný server na 5.6.7.8 . Řekněme, že se chystáme stáhnout nebo zkopírovat /var/www/html/ na /home/master/

Musíme se přihlásit k našemu serveru na 5.6.7.8 a spustit tento příkaz.

# rsync -Wav -e 'ssh -p 7022' [email protected]:/var/www/html/ /home/master/

Jak vidíte, přidali jsme možnost (-e). Tato volba se používá k určení vzdáleného shellu, který se má použít, a ke kterému portu se připojíme. Protože SSH na vzdáleném serveru naslouchá na portu 7022, můžeme jej přidat jako „ssh -p 7022“. Pokud je port SSH vzdáleného serveru výchozí port 22, můžete jednoduše použít „-e ssh“ jako možnost v syntaxi příkazu rsync.

Poslední, věnujte pozornost koncovému lomítku ve zdroji (/var/www/html/ ). Pokud chcete stáhnout nebo zkopírovat POUZE obsah html adresáře bez samotného html adresáře, nezapomeňte přidat koncové lomítko. Pokud nepřidáte koncové lomítko, příkaz zkopíruje html adresář a jeho obsah.

3. Jak odesílat soubory pomocí Rsync

Tentokrát bude cílem vzdálený systém, zatímco zdroj je místní, takže se to považuje za odesílání souborů. Vzdálený uživatelský účet můžete zadat, pokud se liší od toho, který používáte k odesílání souborů pomocí rsync. Potom by měl mít zmíněný uživatelský účet písemné oprávnění na vzdáleném serveru.

Příkaz bude vypadat takto

# rsync [-options] /SOURCE user@DESTINATION_IP_ADDRESS:/DESTINATION
# rsync -Wav -e 'ssh -p 7022' /home/master/ [email protected]:/var/www/html/

Uživatelský účet, na který odkazujete na vzdáleném serveru, bude samozřejmě muset mít správná oprávnění k zápisu do cílového adresáře.

A je to. Naučili jste se odesílat a stahovat soubory pomocí rsync. Chcete-li se dozvědět více o dostupných možnostech, můžete spustit man rsync ve svém terminálu. Příkaz vám ukáže manuál rsync.

Samozřejmě nemusíte posílat a stahovat soubory pomocí rsync, pokud používáte některou z našich Linuxových VPS hostingových služeb, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby za vás odeslali a stáhli soubory pomocí rsync. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.

PS. Pokud se vám tento příspěvek o tom, jak odesílat a stahovat soubory pomocí rsync, líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek níže nebo jednoduše zanechte odpověď v sekcích komentářů. Děkuji.


Cent OS
  1. Jak šifrovat a dešifrovat soubory a adresáře pomocí Tar a OpenSSL

  2. Jak nahrávat nebo stahovat soubory/adresáře pomocí sFTP v Linuxu

  3. Jak stáhnout celý adresář a podadresáře pomocí wget?

  1. Jak stahovat a nahrávat soubory přes SSH

  2. Jak vypisovat, nahrávat a stahovat soubory ze serveru SFTP pomocí golang

  3. Použití rsync k synchronizaci souborů

  1. Jak používat rsync k vyloučení souborů a adresářů v přenosu dat

  2. Jak stahovat a extrahovat soubory Tar jedním příkazem

  3. wget vs curl:Jak stahovat soubory pomocí wget a curl