Android

Az rsync használata a helyi és távoli adatátvitelhez és szinkronizáláshoz

Configure Port Forwarding to Remotely Access Your Synology NAS | Synology

Configure Port Forwarding to Remotely Access Your Synology NAS | Synology

Tartalomjegyzék:

Anonim

Az Rsync gyors és sokoldalú parancssori segédprogram, amely szinkronizálja a fájlokat és mappákat egy távoli héjon keresztül két hely között, vagy egy távoli Rsync démonra / egyre. Gyors, fokozatos fájlátvitelt biztosít, mivel csak a forrás és a cél közötti különbségeket továbbítja.

Az Rsync felhasználható adatok tükrözésére, növekményes biztonsági másolatok készítésére, fájlok másolására a rendszerek között, valamint az scp , sftp és cp parancsok helyettesítésére mindennapi használatra.

Ebben az oktatóanyagban megmutatjuk az rsync használatának gyakorlati példáit és a leggyakoribb rsync beállítások részletes magyarázatait.

Az Rsync telepítése

Az rsync segédprogram előre telepítve van a legtöbb Linux disztribúcióra és macOS-ra. A következő gépeléssel ellenőrizheti, hogy telepítve van-e a rendszerére:

rsync --version

rsync version 3.1.2 protocol version 31

Telepítse az Rsync szoftvert az Ubuntu és a Debian rendszerre

sudo apt install rsync

Telepítse az Rsync fájlt a CentOS-ra és a Fedora-ra

sudo yum install rsync

Rsync parancs szintaxisa

Mielőtt megvizsgálnánk az rsync parancs használatát, kezdjük meg az alapszintaxis áttekintésével.

Az rsync segédprogram kifejezései a következők:

Local to Local: rsync…… DEST Local to Remote: rsync…… HOST:DEST Remote to Local: rsync… HOST:SRC…

  • OPTION - Az rsync beállítások. SRC - Forrás könyvtár. DEST - DEST . USER - távoli felhasználónév. HOST - Távoli hostnév ot IP-cím.

rsync számos lehetőséget kínál, amelyek a viselkedés minden aspektusát szabályozzák. A legszélesebb körben használt lehetőségek:

  • -a , --archive , archív mód, egyenértékű -rlptgoD . Ez az opció azt mondja az rsync hogy rekurzív módon szinkronizálja a könyvtárakat, továbbítsa a speciális és blokkolt eszközöket, megőrizze a szimbolikus hivatkozásokat, a módosítási időket, a csoportot, a tulajdonjogot és az engedélyeket. -z , - --compress . Ez az opció arra kényszeríti az rsync hogy tömörítse az adatokat, amikor azokat elküldi a célgépre. Ezt az opciót csak akkor használja, ha a kapcsolat távoli géppel lassú. -P , egyenértékű a - --partial --progress - --partial --progress . Ha ezt az opciót használja, az rsync az átvitel során egy folyamatjelző sávot mutat, és a részben átvitt fájlok megtartására. Hasznos, ha nagy fájlokat továbbít lassú vagy instabil hálózati kapcsolatokkal. --delete . Ennek az opciónak a használatakor az rsync eltávolítja az idegen fájlokat a rendeltetési helyről. Tükrözéshez hasznos. -q , - --quiet . Ezt a lehetőséget akkor használja, ha el akarja szüntetni a nem hibaüzeneteket. -e . Ez az opció lehetővé teszi egy másik távoli héj kiválasztását. Alapértelmezés szerint az rsync az ssh használatára van beállítva.

Alapvető Rsync használat

Egy fájl másolására egy másik helyről a következő parancsot futtathatja:

rsync -a /opt/filename.zip /tmp/

A parancsot futtató felhasználónak rendelkeznie kell olvasási jogosultságokkal a rendeltetési helyről és írási engedélyekkel a rendeltetési helyről.

Ha elhagyja a fájlnevet a rendeltetési helyről, a fájl az aktuális névvel másolódik. Ha a fájlt más néven szeretné elmenteni, akkor adja meg az új nevet a rendeltetési helyen:

rsync -a /opt/filename.zip /tmp/newfilename.zip

Az alábbi példában helyi biztonsági másolatot készítünk webhely fájljainkról:

rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/

Ha a rendeltetési könyvtár nem létezik, az rsync létrehozza azt.

Érdemes megemlíteni, hogy az rsync eltérő módon kezeli a forráskönyvtárakat egy vonallal / . Ha hozzáad egy hátrajelet a forráskönyvtárban, akkor csak a könyvtár tartalmát másolja a célkönyvtárba. Ha a hátsó perjel nem szerepel, az rsync másolja a forrás könyvtárat a cél könyvtárban.

Az Rsync használata az adatok szinkronizálására távoli gépről / távolról

Ha az rsync programot távoli átvitelre használja, telepítenie kell mind a forrás, mind a cél gépen. Az rsync új verziói úgy vannak beállítva, hogy az SSH-t használják alapértelmezett távoli héjként.

A következő példában egy könyvtárat továbbítunk egy helyiről egy távoli számítógépre:

rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/ Ha még nem állította be a jelszó nélküli SSH bejelentkezést a távoli számítógépre, akkor meg kell adnia a felhasználói jelszót.

Ha adatot szeretne továbbítani egy távirányítóról egy helyi számítógépre, akkor a távoli helyet kell használni forrásként:

rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Ha az SSH a távoli gazdagépen nem az alapértelmezett 22 porton hallgat, akkor a -e opcióval megadhatja a portot:

rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/

Nagy mennyiségű adat átvitelénél javasolt az rsync parancs futtatása a képernyőn, vagy a -P opció használata:

rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Kizárja a fájlokat és könyvtárakat

A fájlok vagy könyvtárak kizárásakor a forrás helyének relatív útvonalait kell használni.

Kétféle lehetőség van a fájlok és könyvtárak kizárására. Az első lehetőség a --exclude argumentum használata, és a parancssorban adja meg azokat a fájlokat és könyvtárakat, amelyeket ki szeretne zárni.

A következő példában kizárjuk azokat a node_modules és tmp könyvtárakat, amelyek az src_directory belsejében találhatók:

rsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/

A második lehetőség az --exclude-from argumentum használata, és megadja azokat a fájlokat és könyvtárakat, amelyeket egy fájlban ki szeretne zárni.

rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/ /exclude-file.txt

node_modules tmp

Következtetés

Ebben az oktatóanyagban megtanulta az Rsync használatát a fájlok és könyvtárak másolására és szinkronizálására. Sokkal többet megtudhat az Rsync-ről az Rsync Felhasználói kézikönyv oldalon.

Ha bármilyen kérdése van, nyugodtan írjon megjegyzést.

rsync terminál