az rsync használata példákkal

az Rsync népszerű eszköz a fájlok szinkronizálásához, mind helyben, mind távolról. Más szinkronizáló eszközökkel ellentétben az rsync érdekes algoritmust használ, amely minimalizálja a sávszélesség-fogyasztást. Egyszerűen áthelyezi a megváltozott fájl(ok) részét.

Ez egy erőteljes segédprogram, amely sok helyzetben szolgálhat. Ebben a cikkben bemutatom, hogyan lehet elkezdeni az rsync-t egy bemutatóval. A bemutatót az Ubuntu 18.04-en hajtják végre.

Rsync

az Rsync a távoli szinkronizálás kifejezést jelenti. A név ellenére távolról és helyileg is képes kezelni a fájlszinkronizálást. Az rsync kifejezést arra az rsync protokollra is használják, amelyet az rsync a szinkronizáláshoz használ. Ebben a cikkben az rsync mindig az eszközt jelöli, nem pedig a protokollt.

puszta népszerűsége miatt az rsync szinte minden egyes Linux és UNIX-szerű rendszeren elérhető. Jó esély van arra, hogy előre telepítve van. Ha nem, végezzen egy kis kutatást az rsync telepítéséről a rendszerébe.

itt található az rsync által kínált funkciók listája.

  • Könyvtár másolása
  • egyszerű biztonsági mentés konfigurálása
  • SSH-n keresztül működhet
  • démonként/szerverként futtatható
  • Fájlengedély-megőrzés

Rsync használat

mielőtt az rsync-be ugrunk, szükségünk van néhány dummy fájlra a munkához. Először hozzunk létre egy dummy könyvtárat.

$ mkdir-v elsődleges

miután létrehozta, itt az ideje, hogy hozzon létre egy maroknyi dummy fájlokat. Fájl létrehozásához a touch parancsot fogom használni. Tudjon meg többet az érintés parancsról.

$ érintsd meg a próbabábut{1..20}

Voila! Most már készen állunk az rsync használatára, hogy műveleteket hajtsunk végre ezekkel a dummy fájlokkal.

Rsync Parancsstruktúra

az Rsync a következő parancsstruktúrát használja.

$ rsync <option><src><destination>

szinkronizálja a helyi könyvtárakat

itt az ideje, hogy az rsync-et használja a fájlok több célállomáson történő szinkronizálásához. Ebben a példában a dir_primary tartalmát szinkronizáljuk a dir_target programmal.

$ mkdir-v cél

mondja meg az rsync-nek, hogy szinkronizálja mindkét könyvtár tartalmát.

$ rsync-v-r elsődleges/ cél

itt két különböző argumentumot használtunk.

– v: azt mondja az rsync-nek, hogy bőbeszédű módba fusson
– R: rekurzív, a könyvtár szinkronizálásához szükséges.

ebben a következő példában egy másik zászlót fogunk használni.

$ rsync-v-A elsődleges/ cél

-a: az”archívum” rövidítése.

ezzel a jelzővel az rsync rekurzívan szinkronizálja a tartalmat, miközben megőrzi a szimbolikus, speciális / eszközfájlokat, módosítási időket, fájlengedélyeket, csoportot, tulajdonost stb. Gyakrabban használják, mint az”- r ” zászlót. Az archiváláshoz ez egy ajánlottabb módszer.

észrevetted, hogy az összes eddig Futtatott parancsban a forrás esetében mindig megtartjuk a ” / ” – t a könyvtár neve után? Ez azt jelenti, hogy az rsync elmondja, hogy a forrás a forráskönyvtár összes tartalma. Ha a forráskönyvtár végén található “/” nem használatos, az rsync egyszerűen létrehozza a forráskönyvtár másolatát a tartalma helyett.

nézzük meg egy példával.

$ rsync-v-A elsődleges cél

ellenőrizze a kimeneti eredményt.

$ tree target/

legtöbbször erre nincs szükségünk. A helyzettől függően azonban hasznos lehet.

rsync teszt futtatása

az rsync parancs futtatása előtt mindig fontos ellenőrizni, hogy a parancs a várt módon hajtja-e végre a műveletet. Ha tesztelni szeretné az rsync műveletet egy bizonyos parancshoz, használja az “-n” vagy a “-dry-run” jelzőt.

$ rsync-AVN elsődleges/ cél

$ rsync-avn elsődleges cél

itt a kimenet megmutatja, hogy az rsync mit hajtana végre, ha a parancsot ténylegesen futtatnák. Amikor tesztel, ne felejtse el használni a “-v” zászlót, hogy pontosan ábrázolja, mi történik.

rsync távoli kapcsolaton keresztül

Ez egy másik érdekes funkció, amelyet az rsync támogat. Ha a biztonsági mentési hely valahol távoli, könnyen konfigurálhatja az rsync-t, hogy biztonsági másolatot készítsen a távoli helyről az SSH-n keresztül. Mindkét gépnek azonban telepítenie kell az rsync-t. Ezenkívül mindkét rendszernek rendelkeznie kell SSH kulcsokkal is.

Kész? Kezdjük. Először az archívum szinkronizálása.

$ rsync-a <local_dir><felhasználónév><remote_host><
destination_dir>

“push”, mert tolja a könyvtárat a helyi rendszer egy távoli rendszer. Az ellenkezőjét “húzásnak”nevezik.

$ rsync-a <felhasználónév><remote_host><source_dir><local_dir>

az rsync az első argumentumot a következő argumentumként kezeli forrás, a második a rendeltetési hely.

hasznos rsync opciók

az Rsync rengeteg lehetőséget támogat. Mindegyik a saját célját szolgálja. Azonban a legtöbb esetben csak egy maroknyi használják a legtöbb időt. Ebben a részben vessünk egy pillantást néhány hasznos rsync opcióra.

legtöbbször a szinkronizálni kívánt fájl(ok) nincsenek tömörítve. A tömörítés használatával időt és sávszélességet takaríthat meg egy kis extra feldolgozási teljesítmény árán. Az Rsync alapértelmezés szerint tömörítést kínál. A tömörített szinkronizálás végrehajtásához használja a”- z ” jelzőt.

$ rsync-avz <forrás><cél>

Ez az érdekes zászló egyesíti mind a “-progress”, mind a “-partial” zászló funkcióját. Az első az átvitel előrehaladási sávjának megjelenítése, a második pedig a megszakított átvitel folytatásának engedélyezése. Mindkét funkció a “-P” zászlóba van egyesítve.

$ rsync -avzP <source><destination>

Now, let’s check out how rsync handles file syncing intelligently. Run the previous command again.

$ rsync-avzP <forrás><cél>

itt az rsync nem töltötte fel újra az összes fájlt. Ehelyett kihagyta azokat, amelyek egyáltalán nem változtak. Ebben a példában kihagyta az összes fájlt, mivel mindegyik jelen van a célkönyvtárban.

mi történik, ha töröl egy fájlt a forráskönyvtárból? Alapértelmezés szerint az rsync nem töröl semmit a célkönyvtárból. Az rsync fájlok törléséhez használja a” – delete ” jelzőt. Használja azonban a szárazfutást annak tesztelésére, hogy a parancs a kívánt módon működik-e.

$ rsync-avn –delete <forrás><cél>

alapértelmezés szerint az rsync minden egyes fájlt/könyvtárat szinkronizál a forrástól a célkönyvtárig. Bizonyos helyzetekben előfordulhat, hogy bizonyos fájlokat be kell vonni/ki kell zárni a szinkronizálásból. Az Rsync olyan praktikus lehetőségeket kínál, mint a” –exclude “és a” – include ” bizonyos fájlok kizárására/beillesztésére. Adja át a fájlmintát ezen argumentumok értékeként.

$ rsync-avn –exclude=<minta> –include=<minta>

megadhatja azt a legnagyobb fájlméretet is, amelyet az rsync-nek szinkronizálnia kell. Ehhez használja a”-max-size ” jelzőt, amelyet a fájlméret követ.

$ rsync-avn –max-size=’10K’ <forrás><cél>

az rsync egy másik érdekes tulajdonsággal rendelkezik a hüvelyében. A szinkronizálás után már nincs szüksége a forrásfájlra? Az Rsync képes erre, nem probléma. Ügyeljen azonban arra, hogy ne futtassa az rsync-t a “- delete” jelzővel. Ellenkező esetben az rsync törli a szinkronizált fájlokat a rendeltetési helyről!

$ rsync-av –remove-source-files <forrás><cél>

végső gondolatok

ezek csak néhány gyakori és egyszerű forgatókönyv rsync használat. Ennél sokkal többet kínál. Lehetőség van az rsync műveletek automatizálására az rsync démon vagy más szkriptek használatával. Remélhetőleg ez az útmutató hasznos volt az rsync használatának megkezdéséhez.

érdekel több rsync? Nos, az rsync fájlmásolóként használható. Hatékonyabb és intelligensebb, mint a cp. További részletes funkciók és használat megtalálható az rsync man oldalon.

$ man rsync

élvezze!



Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.