hasznosság rsync használható fájlok és mappák másolására és szinkronizálására a helyi Linux szerverről a távolira és fordítva. Az Rsync lehetővé teszi az adatok másolását a biztonságos SSH-kapcsolaton belüli kiszolgálók között. ugyanúgy, rsync, Támogatja az adatok tömörítését menet közben, ami javítja a rendszer teljesítményét.
Az adatok elvesztésének megelőzése a fájlok küldésekor, rsync először az átvitt információkat átmeneti ideiglenes fájlba. Az rsync másik fontos jellemzője, hogy a fájlok egy adatfolyamba kerülnek, különálló adatfolyamot nem hoz létre minden fájlhoz (ami problémát okoz, ha nagyszámú kis fájlt más segédprogramokon továbbítanak).
Ebben a cikkben megvizsgáljuk a használati eseteket. rsync könyvtárak és fájlok szinkronizálása és másolása, valamint példák mutatása a speciális beállításokról.
Tartalom:
- Telepítés és alapvető rsync opció
- Rsync: helyi könyvtár másolás / szinkronizálás
- Rsync: konfigurálja a szinkronizálást a távoli szerverrel
- További példák az rsync használatára
- Biztonsági másolat készítése Linuxon az rsync segítségével
Telepítés és alapvető rsync opció
telepítés rsync nem különbözik a telepítéstől, bármely más csomagtól. A CentOS-on az rsync csomag megtalálható az alapraktárban, és a yum (vagy a CentOS 8 esetén a dnf) telepíti:
# yum install rsync -y
A parancs szintaxisa a következő:
# rsync forrás-vevő beállításai
Forrásként és fogadóként megadhat egy helyi vagy távoli könyvtárat egy másik szerveren.
beállítások:
- -v - a folyamattal kapcsolatos részletes információk megjelenítése
- -c - ellenőrizze a fájl ellenőrző összegeit
- -q - minimális információ
- -a - archiválási mód
- -R - relatív útvonalak
- -y - ne írja felül az újabb fájlokat
- -b - biztonsági mentés
- -l - linkek másolása
- -L - a link tartalmának másolása
- -H - nyomtatott linkek másolása
- -g - csoport mentése
- -p - fájlok engedélyének mentése
- -t - a módosítási idő megtakarítása
- -x - csak ebben az FS-ben működik
- -e - használjon másik szállítási protokollt (például ssh)
- -z - tömörítse a fájlokat az átvitel előtt
- -törlés - a forrásban nem lévő fájlok törlése
- -kizárás - fájlok kizárása
- -rekurzív - rekurzív módon ismételje meg a könyvtárakat
- -no-rekurzív - a rekurzió letiltása
- -folyamat - a fájlátvitel folyamatának megjelenítése
- -stat - az átviteli statisztikák megjelenítése
- -max-size - maximális fájlméret az átvitelhez
- -bwlimit - a fájlátvitel sebességkorlátozása
- -verzió - segédprogram verzió
Rsync: helyi könyvtár másolás / szinkronizálás
rsync használható fájlok másolásához a helyi kiszolgáló könyvtárak között. Ha fájlokat kell átmásolni az egyik könyvtárból a másikba, akkor futtassa a következő parancsot:
# rsync /var/www/html/package.zip / var / www / tmp /
Ebben az esetben a package.zip fájlt egyszerűen átmásolták a / var / www / tmp / könyvtárba.
Többféle lehetőséget is megadhat a másoláshoz. Például egy fájl előzetes tömörítéséhez a másolás előtt, a részletes információk megjelenítéséhez és a fájlmásolás folyamatához:
# rsync -vz --progress /var/www/html/package.zip / var / www / tmp /
Az rsync segítségével szinkronizálhatja a helyi könyvtárak tartalmát. Például az rsync akkor hasznos, ha fájlokat kell átmásolni a működő könyvtárból a lerakatba, amely valamilyen partícióra van felszerelve. Néhány példa a parancsokra:
# rsync -zvr / var / www / site / backup /
A / var / www / site könyvtárat a biztonsági mentési könyvtárba másoltuk -r engedélyezett az összes beágyazott könyvtár és fájl rekurzív másolására.
Az összes fájljellemző mentéséhez másoláskor, például a módosítási dátumot és a fájlok létrehozásának dátumát, adja hozzá a kulcsot -egy:
# rsync -zvra / var / www / site / backup /
Ha csak módosított fájlokat szeretne lemásolni, add hozzá a beállítást -c:
# rsync -zvrac / var / www / site / backup /
Csak egy fájlt módosítottam és futtattam a parancsot. Ennek eredményeként csak a módosított fájlt másolta a cél könyvtárba..
Nagyon kényelmes ezt a lehetőséget használni, ha a fájlok nem változnak gyakran. Így időt spórolhat a könyvtár másolására / szinkronizálására.
Annak érdekében, hogy ne zavarja meg a biztonsági mentési könyvtár, felvehet egy beállítást -töröl, ez lehetővé teszi a fájlok összehasonlítását a forrással, és ha a fájl a célkönyvtárban van, és ha a forráskönyvtárban nincs, akkor automatikusan törli. Felszólítom azonban arra, hogy ezt az opciót használja körültekintően, mert ha a könyvtárat a koronára másolja, hiba vagy külső zavar esetén a működő könyvtárba, amelyet a munkafájlok törlése követ, akkor biztonsági másolatban is információkat fog szerezni, amelyek nem teszik lehetővé az adatok visszaállítását. . Példa:
# rsync -zvrac - töröl / var / www / site / backup /
Rsync: konfigurálja a szinkronizálást a távoli szerverrel
Leggyakrabban másolás / szinkronizálás rsync A távoli szerverrel a fürtcsomópont-konfiguráció biztonsági mentéséhez vagy szinkronizálásához használható. Automatikusan szinkronizálhatja az adatokat a termelõkiszolgálótól a biztonsági mentésig, és a produktív északi résznél jelentkezõ problémák esetén mindent gyorsan vihet át a biztonsági mentésre. Ez egy meglehetősen kényelmes és könnyen konfigurálható lehetőség..
Az rsync modern verzióiban az SSH protokollt alapértelmezés szerint a fájlok átvitelére használják. Ugyanakkor használhatja az rsyncd démont is. Ehhez az rsync klienst telepíteni kell a távoli számítógépre, és hozzá kell adnia a démont az indításhoz:
# A Systemctl engedélyezi az rsyncd használatát
Az rsync konfigurációs fájl az /etc/rsyncd.conf. Ebben a fájlban konfigurálhatja az rsync beállításait és a szinkronizálás beállításait a különböző erőforrásokhoz.
Az rsync démonon keresztüli szinkronizáláshoz a távoli szerver címe rsync: //. Például:
# rsync -av /var/www/site/package.zip rsync: //192.168.1.32/backup
Fájl másolására egy távoli kiszolgálóra használja a következő parancsot:
# rsync -az /var/www/site/package.zip root @ IP: / backup /
Ahol az IP a távoli szerver címe. A parancs futtatása után a távoli kiszolgáló kéri a felhasználói jelszót (ha a jelszó-hitelesítés engedélyezve van). Az automatikus hitelesítéshez konfigurálnia kell az SSH kulcsokat.
Másolja a könyvtárat a helyi szerverről a távvezérlőre:
# rsync -zvra / var / www / site root @ IP: / backup /
Vagyis minden ugyanaz, mint a helyi könyvtárak, csak a távoli szerver címét adjuk meg.
Szinkronizálhatja a fájlokat egy távoli szerverről egy helyi fájlra is, ehhez a parancs kissé megváltozik:
# rsync -zvra root @ IP: / mentés / / mentés
Az SSH protokoll fájlok másolására történő használatának kényszerítéséhez adja meg ezt a parancsban (a -e opciót használják a fájlok másolására szolgáló szállítási protokoll kiválasztásához):
# rsync -zvrae ssh root @ IP: / backup / / backup
Ha a távoli SSH-kiszolgálón a szabványtól eltérő port is található, akkor azt megadhatja:
# rsync -zvrae "ssh -p 2222" root @ IP: / backup / / backup
További példák az rsync használatára
Ha sok információt továbbít a szinkronizálás során, és fontos, hogy korlátozza az átviteli sebességet, állítsa be ezt a -bwlimit opcióval (jelezze a sebességet KB / s-ban):
# rsync -zvra --bwlimit = 100 / var / www / site root @ IP: / backup /
Fájlok távoli kiszolgálóra történő átvitelekor korlátozhatja a másolni kívánt fájlok maximális méretét. Például az összes fájlt másolni szeretné, kivéve az 1 MB-nál nagyobb fájlokat:
# rsync -zvra --max-size = '1m' / var / www / site root @ IP: / backup /
Ha egyirányú szinkronizációra van szüksége a kiszolgálón, és a fájlok távoli kiszolgálóra történő átvitele után törölnie kell a fájlokat a forráskiszolgálón, használja a --eltávolítás-source-fájlok:
# rsync -zvra - eltávolítja a forrásfájlokat --progress /var/www/site/package.zip root @ IP: / backup /
A parancs végrehajtása után a fájlt átmásolták a távoli kiszolgálóra és törölték a forrásból:
Szintén nagyon kényelmes lehetőségek -tartalmaz és -kizár, ezen lehetőségek használatával kivételeket tehet a könyvtárak vagy fájlok másolására:
# rsync -zvra --exclude = adminisztrátor / / var / www / site root @ IP: / backup /
Ebben az esetben kizártuk az „adminisztrátor” könyvtárat, amikor a távoli kiszolgálóra másolunk.
# rsync -zvra --include = '*. php' --exclude = '*' / var / www / site / adminisztrátor / root @ IP: / backup /
Opció hozzáadásával -tartalmaz tudtuk beállítani a szűrőt fájlok szerint, csak a php kiterjesztésű fájlokat másoltuk.
Biztonsági másolat készítése Linuxon az rsync segítségével
A rabszolgámban egy részet használok rsync automatikus biztonsági mentési feladatokhoz Linux rendszeren. Írhat egyszerű bash szkripteket, vagy csak hozzáadhatja az rsync parancsot a cronhoz és az ütemezett végrehajtáshoz.
Például hozzáadhatja a cron parancsot:
01 30 * * * rsync -zvra root @ IP: / mentés / / mentés
Ennek eredményeként minden nap 1-30 éjszaka szinkronizálják a helyi és a távoli szerverek könyvtárait.
Érdemes megfontolni ezt a parancs végrehajtásához rsync távoli szerveren cronon keresztül, tanácsos a szerver hitelesítését SSH-kulcs segítségével konfigurálni. Példák a biztonsági másolat készítésére szolgáló szkriptekhez, amelyet a "A Linuxról a felhőbe mentő fájlok parancsfájljai" című cikkben írtunk, az rsync fájlt másolja a csatlakoztatott felhő tárolókba.