Az Rsync (távoli szinkronizálás) parancs egy Linux / Unix segédprogram, amelyet fájlok és könyvtárak szinkronizálására és másolására használnak, lokálisan vagy távolról. A legtöbb Linux geek az Rsync segítségével tükrözi, biztonsági másolatot készít vagy migrál az adatokat mappákba, lemezekre és hálózatokra. Az Rsync parancs egyik figyelemre méltó tulajdonsága, hogy a „delta átviteli algoritmust használja.”
A Delta Transfer algoritmus úgy működik, hogy frissíti a célkönyvtárat a forrás céljának tartalmával. Ha változás vagy új fájl jön létre a forráskönyvtárban, az Rsync parancs futtatásakor csak az adott változás kerül másolásra a célkönyvtárba. A fájlok és könyvtárak szinkronizálásához a helyi és a távoli gép között az Rsync az SSH-t használja.
Az Rsync telepítése Linuxra
Az Rsync parancs előre telepítve van a legtöbb Linux operációs rendszerben. Néhány minimális telepítés esetében azonban ez nem így lehet. Az Rsync telepítéséhez futtassa az alábbi parancsokat a terminálon.
A CentOS & RHEL oldalon
telepítsd az rsync -y fájlt
Ubuntu és más Debian terjesztésekről
sudo apt install rsync -y
Rsync Basic szintaxis
rsync opciók forrás cél
Az Rsync paranccsal használt standard opciók / paraméterek közül néhány:
-v: -verbose Verbose output
-r: rekurzív módon másolja az adatokat
-z: a fájl adatainak tömörítése
-h: Kimenetet ad ember által olvasható formátumban
-a: archiválja a fájlokat és a könyvtárakat szinkronizálás közben
-progress A jelenleg futó Rsync-feladatok előrehaladását mutatja.
Az Rsync parancs összes rendelkezésre álló opcióját a „-help” opcióval láthatja.
$ rsync --help
A 20 legnépszerűbb Rsync példa Linux alatt
Ezt a részletes információt szem előtt tartva kezdjük el a 20 hasznos Rsync példaparancsot, amelyeket Linux rendszereken használhat. A választott operációs rendszerünk az Ubuntu 20.04 LTS; a szintaxisnak azonban működnie kell más Linux disztribúcióknál is, amelyeken Rsync van telepítve.
1. Fájlok másolása / szinkronizálása helyben a -v (részletes) opcióval
Ez a legalapvetőbb Rsync parancs, még egy újonc számára is. Ebben a példában fájlokat másolunk a 'Eredeti'könyvtár az Asztalon a'biztonsági mentés'könyvtár a' / etc könyvtárban.'mappa. Bele fogjuk foglalni a -v (Verbose) opciót, hogy az rsync információkat nyújtson a folyamatról.
rsync -v Original /
Az Rsync alkalmazásnál megjegyzendő, hogy ha a célkönyvtár nem létezik, akkor automatikusan létrehozza. Lássuk az alábbi példát, ahol fájlokat akarunk másolni a könyvtárbaSáncárok”Ez nem létezik.
2. A fájlok és könyvtárak rekurzív szinkronizálása / másolása az -r kapcsolóval
A fenti parancsban, ha volt egy könyvtár a 'Eredeti'mappa, akkor kihagyja. Ezt szemlélteti az alábbi kép.
Ennek leküzdéséhez használja a -r (rekurzív) opciót.
3. Fájlok szinkronizálása / másolása a helyi gép és a távoli gép között
A feladat végrehajtása előtt számos paramétert kell ismernie a távoli szerverről / gépről: az IP-cím, a felhasználónév és a felhasználói jelszó.
Az alapvető szintaxis, amelyet használni fogunk:
rsync [opciók] [fájlok] [távoli felhasználónév] @ [ip-cím]: / [cél]
Másoljunk fájlokat a 'Eredeti'könyvtárat az Asztalon egy távoli szerverre.
4. Fájlok és könyvtárak szinkronizálása / másolása távoli szerverről a helyi számítógépre
Az előző parancshoz hasonlóan tudnunk kell a távoli szerver IP-címét is. Ebben a példában szinkronizáljuk a fájlokat a 'biztonsági mentés'mappát a kiszolgáló saját könyvtárában a helyi számítógépünkre.
rsync -rv tuts @ 192.168.1.64: / home / tuts / Backup / home / tuts / Desktop / Original
5. Használja az Rsync-et SSH-n keresztül az -e opcióval
A fájlok és mappák biztonságának biztosítása érdekében az Rsync over Secure Shell Protocol (SSH) protokollt fogjuk használni. Ezenkívül a root / felhasználói jelszó megadásakor az SSH titkosítási szolgáltatásokat nyújt, biztosítva azok biztonságát.
Az SSH használatához hozzáadjuk az -e opciót, amely meghatározza a használni kívánt protokollt.
rsync -vre ssh Eredeti / * tuts @ 192.168.1.64: / home / tuts
6. Az előrehaladás megjelenítése az Rsync paranccsal
Olyan helyzetekben, amikor több fájlt vagy egy hatalmas fájlt másol, az előrelépés hatékony lenne. Szerencsére az rsync rendelkezik ezzel az opcióval - a '-előrehalad' választási lehetőség.
sudo rsync -rv - progress Original / / / etc / Foss
7. Használja az Rsync alkalmazást az '-include' opcióval
Vannak olyan helyzetek, amikor csak bizonyos fájlokat szeretne szinkronizálni. Az Rsync paranccsal a '-tartalmazza'lehetőség a feladat végrehajtására. Ebben a példában csak az 'I' betűvel kezdődő fájlokat szinkronizáljuk.
sudo rsync -vr - tartalmazza az 'I *' Original / / etc / Backup /
8. Az Rsync '-exclude' opcióval figyelmen kívül hagyhatja az adott fájlokat
Az Rsync segítségével-kizárni'opcióval kizárhatja azokat a fájlokat, amelyeket nem szeretne szinkronizálni / másolni. Ebben a példában figyelmen kívül akarunk hagyni minden, az 'I' betűvel kezdődő fájlt.
sudo rsync -vr - az 'I *' Original kizárása / / etc / Backup /
Alternatív megoldásként mindkét parancsot egy parancsban használhatja. Lásd az alábbi példát.
sudo rsync -vr --kizárja a '*' -t - tartalmazza az 'I *' Eredeti / / etc / Backup /
Minden fájlt kizárunk, kivéve az „I” betűvel kezdődő fájlokat."
9. Használja az Rsync with -delete parancsot
Vannak olyan helyzetek, amikor a célkönyvtárban vannak fájlok, de a forrás mappában nincsenek. A szinkronizáláshoz a legjobb, ha először eltávolítunk ilyen fájlokat a célkönyvtárból. Szerencsére az Rsync a-töröl'opció, amely ezt automatikusan megteszi.
Ha egy fájl van a célkönyvtárban, de a forrásban nincs, akkor azt törli.
rsync -vr --delete / etc / Backup / tuts @ 192.168.1.64: / home / tuts / Backup
10. Állítsa be az Rsync segítségével átvinni kívánt fájlok maximális méretét
Ha a fájlok távoli szinkronizálásához a tárhely vagy a sávszélesség vonatkozik, akkor az Rsync paranccsal a '-max-size' beállítást kell használnia. Ez az opció lehetővé teszi a másolható fájlok maximális méretének beállítását.
Például egy '-max-méret = 100k'csak 100 kilobájt vagy annál kisebb adatokat továbbít.
rsync -vr --max-size = '200k' / etc / Backup / tuts @ 192.168.1.64: / home / tuts / Backup
11. Sikeres átvitel után automatikusan törölje a forrásfájlokat
Válasszon olyan helyzetet, amikor távoli biztonsági szerver és biztonsági mentési könyvtár található a számítógépén. Az adatokról biztonsági másolatot készít a számítógép biztonsági mentési mappájába, mielőtt szinkronizálná a Backup-kiszolgálóval. Minden szinkronizálás után törölnie kell a biztonsági mentési könyvtár adatait.
Szerencsére ezt automatikusan megteheti a--remove-source-files' választási lehetőség.
Az 'ls' parancs futtatásával a forrásmappán megerősítjük, hogy a fájlokat valóban törölték.
12. Végezzen száraz futtatást az Rsync alkalmazással
Azoknak a kezdőknek, akik nem biztosak az Rsync paranccsal, elronthatják a célkönyvtár tartalmát, és a visszavonás ugyanolyan unalmas lehet. A ... val '-szárazon futás'opciót, az Rsync parancs kimenetet ad a végrehajtandó eseményekről, de nem fogja megtenni.
Ezért megnézheti ezt a kimenetet, ha elvárja, mielőtt elmész o eltávolítani a '-szárazon futás' választási lehetőség.
rsync -vr --dry-run Original / * tuts @ 192.168.1.64: / home / tuts / Backup
13. Állítsa be a fájlátvitelhez szükséges sávszélességi korlátot.
Ha megosztott hálózaton van, vagy több internetkapcsolatra szoruló programot futtat, akkor hatékony lenne a fájlok távoli szinkronizálásához / másolásához szükséges sávszélességi korlátot beállítani. Megtehetjük ezt az Rsync segítségével-bwlimit' választási lehetőség.
Ezt az arányt kilobájtban számolják. Ezért amikor-bwlimit = 1000'azt jelenti, hogy másodpercenként csak 1000 KB-ot lehet átvinni.
rsync -vr --bwlimit = 1000 Eredeti / * tuts @ 192.168.1.64: / home / tuts / Backup
14. Szinkronizálja a teljes fájlokat az Rsync programmal
Alapértelmezés szerint az Rsync csak a módosított blokkokat és bájtokat szinkronizálja. Ezért, ha korábban szinkronizált egy szöveges fájlt, és később szinkronizáláskor hozzáadott néhány szöveget a forrásfájlhoz, akkor csak a beillesztett szöveget másolja át. Ha újra szinkronizálni szeretné a teljes fájlt, akkor a '-W' opciót kell használnia.
rsync -vrW Original / * tuts @ 192.168.1.64: / home / tuts / Backup
15. Ne szinkronizálja / másolja a módosított fájlokat a célkönyvtárban
Vannak olyan helyzetek, amikor módosításokat hajtott végre a célmappában található fájlokon. Ha egy Rsync parancsot futtat, ezeket a módosításokat felülírják a forrásfájlban találhatóak. Ennek elkerülése érdekében használja a '-u' opciót.
rsync -vu Original / * tuts @ 192.168.1.64: / home / tuts / Backup
16. Az Rsync with -i opcióval megtekintheti a fájlokban a különbséget a forrás és a cél között
Ha szeretné tudni, hogy milyen új módosítások történnek a célkönyvtárban, használja az '-i' opciót, amely megmutatja a forrás és a célkönyvtár közötti fájlbeli különbséget.
rsync -avzi Original / Backup /
Alakítsa ki a kimenetet a fenti képen, és egy "heloo.py ' nincs a célkönyvtárban. Nézzük meg ezeket a paramétereket.
d: a célfájl változását mutatja
f: egy fájlt képvisel
t: az időbélyegek változását mutatja
s: a fájl méretének változását jelzi
17. Az Rsync programot csak a könyvtárstruktúra másolásához használja
Az Rsync segítségével csak a könyvtárszerkezetet szinkronizálhatja, ha nem érdeklik a fájlok. A -f ”+ * /” -f ”- *” paramétereket kell használnunk a forráskönyvtár előtt.
rsync -av -f "+ * /" -f "- *" / home / tuts / Asztal / Eredeti / / home / tuts / Documents /
18. Dátumbélyegző hozzáadása a könyvtár nevéhez
Ha a könyvtár tulajdonságainak megnyitása nélkül szeretné nyomon követni, hogy mikor történt az átvitel, könnyen hozzáadhat egy dátumot egy könyvtár nevéhez. Ez hozzáad egy dátumbélyegzőt az Rsync alkalmazással végzett összes szinkronizáláshoz.
Ehhez kiegészítjük $ (dátum + \\% Y - \\% m - \\% d) a célkönyvtárba.
sudo rsync -rv Eredeti / / etc / $ (dátum + \\% Y - \\% m - \\% d)
19. Egyetlen fájl másolása helyben
Egyetlen fájl szinkronizálásához / másolásához az Rsync alkalmazással meg kell adnia a fájl elérési útját, majd a célkönyvtár elérési útját.
rsync -v Original / heloo.py Biztonsági mentés /
20. Több fájl távoli másolása
Több fájl egyidejű másolásához meg kell adnia mindegyik elérési útját. Ez a módszer csak kis számú fájl esetén hatékony.
rsync -vr / home / tuts / Desktop / Original / heloo.py / home / tuts / Desktop / Backup / index.html tuts @ 192.168.1.64: / home / tuts / Backup
Ez minden a 20 legfontosabb Rsync példával, amelyek lehetővé teszik a fájlok és könyvtárak szinkronizálását helyileg és távolról egyaránt. Nyugodtan hagyja visszajelzését és megjegyzéseit alább.