Aggódott valaha az adatok elvesztése miatt, vagy belefáradt a napi vagy heti manuális biztonsági mentések végrehajtásába? Használja a rsync parancsot, és automatikusan szinkronizálja a helyi fájlokat egy távoli szerverrel, ahányszor csak akarja, manuális beavatkozás nélkül. Kérjük, vegye figyelembe, hogy ez az útmutató hozzáférést igényel egy távoli Linux szerverhez (pl. AWS), és az Ubuntu 20.04 alatt íródott, bár minden Linux disztribúció jól működik.

Az rsync telepítése

Mindenekelőtt ellenőrizze, hogy nem rsync telepítve van. Mind a helyi számítógépen, mind a webszerveren futtassa ezt a parancsot:

rsync --version

Ha cserébe megkapja az aktuális rsync verziót, akkor készen áll a következő szakaszra. Ellenkező esetben, ha megkapja a parancs nem található hiba, telepítheti rsync ezzel a paranccsal:

sudo apt-get -y telepíti az rsync-et

SSH kulcs generálása

Használjuk a SSH kulcs a helyi számítógépünk és a távoli szerver közötti kapcsolat hitelesítéséhez. Ha új SSH-kulcsot szeretne generálni a helyi számítógépen a terminálon belül, futtassa a következő parancsot:

instagram viewer
Az SSH beállítása Linuxon és a beállítás tesztelése: Útmutató kezdőknek

Távolról kell elérnie Linux számítógépét vagy szerverét? Így állíthatja be és konfigurálhatja az SSH-t Linuxon, Windowson és mobileszközökön.

ssh-keygen -t rsa -b 4096 -f ~/.ssh/rsync.key

Amikor a rendszer jelszót kér, hagyja üresen, és nyomja meg kétszer az Enter billentyűt. Ez két új fájlt generál az Önön belül ~/.ssh/ nevű könyvtár rsync.key amely a privát kulcs, és rsync.key.pub, a nyilvános kulcs.

Távoli szerver beállítása

Bár nem kötelező, ehhez az útmutatóhoz elkészítjük a új felhasználó a távoli kiszolgálón az rsync kapcsolatokhoz és az összes biztonsági másolat tárolásához. Jelentkezzen be a távoli kiszolgálóra SSH-n keresztül, és futtassa ezt a parancsot:

sudo useradd -m rsync

A fenti példa a felhasználónevet használja rsync, de bármire módosíthatja, amit csak akar. Az -m Az opció egyszerűen azt mondja a Linuxnak, hogy hozzon létre egy kezdőkönyvtárat új felhasználónk számára.

A helyi számítógép hitelesítéséhez az előző részben generált nyilvános SSH-kulcsot át kell másolni a távoli kiszolgálóra. Nyissa meg a /~.ssh/rsync.key.pub fájl a szöveg szerkesztő és látni fog egy nagy vonalat, amely valahogy úgy néz ki.

ssh-rsa user@host

Ez a hosszú sor a nyilvános SSH-kulcs. Másolja a vágólapra, és a távoli szerveren futtassa a következő parancsokat:

sudo su rsync
mkdir -m 0700 $HOME/.ssh
echo "ssh-rsa AAAAB... user@host" > $HOME/.ssh/authorized_keys
chmod 0644 $HOME/.ssh/authorized_keys

A második utolsó parancsban cserélje ki az idézőjelek közötti szöveget arra a hosszú nyilvános SSH-kulcssorra. Ez az, a helyi számítógép mostantól képes lesz hitelesíteni a távoli szervert.

Állítsa be az ssh konfigurációs fájlt

Az egyszerűség kedvéért adjon hozzá egy bejegyzést a ~/.ssh/config fájlt a helyi számítógépen, hogy könnyen csatlakozhasson a távoli szerverhez. Nyissa meg a fájlt a helyi számítógépen a paranccsal.

nano $HOME/.ssh/config

A fájlon belül adjon hozzá egy bejegyzést a távoli szerverhez, például:

host backup_server
 gazdagépnév 192.168.0.24
 felhasználói rsync
 IdentityFile ~/.ssh/rsync

Módosítsa a gazdagépnevet a távoli kiszolgáló IP-címére, és ha az „rsync”-től eltérő felhasználónevet használt, módosítsa azt is. Bármit használhat a gazdagéphez, de ebben a példában a "backup_server" értéket használtuk. Mentse és zárja be a fájlt a Ctrl+X, majd az "Y" és az Enter billentyűk lenyomásával.

Tesztelje az SSH-kapcsolatot a távoli kiszolgálóval a paranccsal.

ssh backup_server

Feltéve, hogy minden megfelelően van beállítva, most be kell jelentkeznie a távoli kiszolgálóra SSH-n keresztül. Zárja be a kapcsolatot a paranccsal.

kijárat

Szinkronizálja a fájlokat

Most tesztelje a rsync funkciókat, és például a helyi számítógépen lévő Dokumentumok könyvtár szinkronizálásához futtassa a következő parancsot:

rsync -avz --progress ~/Documents/ backup_server:~/Documents

Az első előfordulása ~/Dokumentumok/ megadja a szinkronizálandó helyi fájlt vagy könyvtárat, backup_server megfelel a hozzáadott bejegyzésnek ~/.ssh/config fájlt és a végét :~/Dokumentumok egyszerűen megadja, hogy mindent a távoli kiszolgáló /Documents könyvtárába kell feltölteni a saját könyvtárhoz képest.

Jelentkezzen be a távoli kiszolgálóra, és egy új Dokumentumok könyvtárat kell látnia, amely szinkronban van a helyi számítógépével. A fenti parancs minden egyes futtatásakor csak a legutóbbi alkalom óta módosított fájlok kerülnek feltöltésre, így nem tölti fel folyamatosan a könyvtár teljes tartalmát.

Automatizálás a Crontab segítségével

Most, hogy mindent teszteltünk és megfelelően működik, egyszerűen automatizálhatjuk a teljes folyamatot egy crontab feladat hozzáadásával a helyi számítógépünkhöz. Ha 15 percenként automatikusan szinkronizálni szeretné a helyi mappát a távoli szerverrel, futtassa a parancsot a terminálon belül.

(crontab -l; echo "*/15 * * * * rsync -avz --progress ~/Documents/ backup_server:~/Documents > /dev/null 2>&1";) | crontab

Kaphat egy "no crontab for user" üzenetet, és figyelmen kívül hagyhatja. Változtasd meg a Dokumentumok könyvtárba, amire biztonsági másolatot szeretne készíteni, de ügyeljen arra, hogy hagyjon egy záró perjelet a könyvtárakhoz, különben nem készülnek megfelelően biztonsági mentésük.

Ellenőrizze, hogy a crontab feladat sikeresen hozzáadva a paranccsal.

crontab -l

Ha látja az imént hozzáadott crontab feladatot, akkor minden a helyén van. Várjon 15 percet, ellenőrizze a távoli szervert, és minden szükséges fájlnak ott kell lennie. Mostantól kezdve a fájlokon végzett összes módosítás 15 percenként automatikusan feltöltődik a távoli szerverre.

Letöltés távoli szerverről

Ön is használhatja rsync fájlok letöltéséhez a távoli szerverről és szinkronizálásához a helyi számítógépre. A fenti /Documents könyvtár példájával a terminálon belül futtassa a parancsot:

rsync -chavzP backup_server:~/Documents/ ~/Documents

Az ~./Dokumentumok A helyi számítógépen lévő könyvtárnak most a távoli kiszolgáló tükörképének kell lennie.

Minták felvétele és kizárása

Ha valaha is csak olyan fájlokat kell szinkronizálnia, amelyek megfelelnek egy bizonyos mintának, például a következővel: .html használhatja a --beleértve minta. A terminálon belül futtassa a parancsot.

rsync -avz --include "*.html" --progress ~/mysite/ backup_server:~/public_html

Ellenőrizze a távoli kiszolgálót, és azt fogja látni, hogy csak a .html kiterjesztésű fájlokat töltötték fel a /public_html/ távoli könyvtárba a helyi /mysite/ könyvtárból. Hasonló módon, bizonyos fájlok kivételével mindent szinkronizálhat a -- kizárni választási lehetőség. Például a következő parancs minden fájlt szinkronizál, kivéve azokat, amelyeknél a .txt kiterjesztés.

rsync -avz --exclude "*.txt" --progress ~/mysite/ backup_server:~/public_html

Két helyi könyvtár szinkronizálása

Szükség esetén két helyi könyvtárat is szinkronizálhat a paranccsal.

rsync -zvr ~/forrás/könyvtár ~/cél/könyvtár

Ez a parancs pontosan ugyanúgy működik, mint távoli kiszolgálóval való szinkronizáláskor, az egyetlen különbség az, hogy ez két helyi könyvtár.

Nyugi

Most megkönnyebbülten fellélegezhet, tudván, hogy az adatvesztés esélye lényegesen kisebb. Ebből a cikkből megtudta, mit rsync Az SSH-kulcs létrehozása és telepítése, a szerver meghatározása a ~./.ssh/config fájlt, szinkronizáljon egy helyi és távoli könyvtárat, és automatizálja a teljes folyamatot a crontab segítségével. A továbbiakban az összes szükséges fájl mindig csak 15 perces késéssel szinkronizálódik a távoli szerverrel.

Email
Linux-merevlemez klónozása: 4 módszer

Klónoznia kell Linux merevlemezét vagy partícióját? Használja az alábbi meghajtóklónozó eszközök egyikét a Linux lemez klónozásához.

Kapcsolódó témák
  • Linux
  • Adatmentés
  • Linux
  • Biztonsági mentés a felhőből
  • Otthoni hálózat
A szerzőről
Matt Dizak (13 cikk megjelent)Továbbiak Matt Dizaktól

Iratkozzon fel hírlevelünkre

Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!

Még egy lépés…!

Kérjük, erősítse meg e-mail címét az imént küldött e-mailben.

.