Weboldal keresés

Két Apache webszerver/webhely szinkronizálása Rsync használatával


Rengeteg oktatóanyag érhető el a weben, amelyek segítségével különböző módszerekkel tükrözheti vagy készíthet biztonsági másolatot a webfájlokról, itt készítem ezt a cikket későbbi hivatkozásom céljából, és itt a Linux egy nagyon egyszerű és sokoldalú parancsát fogom használni. biztonsági másolat készítéséhez a webhelyről. Ez az oktatóanyag segít az adatok szinkronizálásában a két webszerver között az „Rsync” segítségével.

A Webszerver tükör létrehozásának célja az Rsync segítségével, ha a fő webszerver meghibásodik, a tartalék szerver átveheti az irányítást a webhely állásidejének csökkentése érdekében. A webszerver biztonsági mentésének ez a módja nagyon jó és hatékony a kis- és közepes méretű webes vállalkozások számára.

A webszerverek szinkronizálásának előnyei

A webszerver biztonsági mentésének rsync segítségével történő létrehozásának fő előnyei a következők:

  1. Az Rsync csak azokat a bájtokat és adatblokkokat szinkronizálja, amelyek megváltoztak.
  2. Az Rsync képes ellenőrizni és törölni a biztonsági mentési kiszolgálón azokat a fájlokat és könyvtárakat, amelyeket a fő webszerverről töröltek.
  3. Az adatok távolról történő másolása közben gondoskodik az engedélyekről, a tulajdonjogokról és a speciális attribútumokról.
  4. Támogatja továbbá az SSH protokollt az adatok titkosított átviteléhez, így biztos lehet benne, hogy minden adat biztonságban van.
  5. Az Rsync tömörítési és kitömörítési módszert használ az adatátvitel során, amely kevesebb sávszélességet fogyaszt.

Két Apache webszerver szinkronizálása

Folytassa az rsync beállításával, hogy létrehozza a webszerver tükrét. Itt két szervert fogok használni.

Fő szerver
  1. IP-cím: 192.168.0.100
  2. Gazdagépnév: webszerver.example.com
Backup Server
  1. IP-cím: 192.168.0.101
  2. Gazdagépnév: backup.example.com

1. lépés: Telepítse az Rsync eszközt

Ebben az esetben a webserver.example.com webszerver adatai tükröződnek a backup.example.com oldalon. Ehhez először telepítenünk kell az Rsync programot mindkét szerverre a következő parancs segítségével.

[root@tecmint]# yum install rsync        [On Red Hat based systems]
[root@tecmint]# apt-get install rsync    [On Debian based systems]

2. lépés: Hozzon létre egy felhasználót az Rsync futtatásához

Beállíthatjuk az rsync-et root felhasználóval, de biztonsági okokból létrehozhat egy privilegizált felhasználót a fő webszerveren, azaz a webserver.example.com címen az rsync futtatásához.

[root@tecmint]# useradd tecmint
[root@tecmint]# passwd tecmint

Itt létrehoztam egy „tecmint” felhasználót, és jelszót rendeltem a felhasználóhoz.

3. lépés: Tesztelje az Rsync beállítását

Itt az ideje, hogy tesztelje az rsync beállítását a tartalék szerveren (azaz backup.example.com), és ehhez írja be a következő parancsot.

[root@backup www]# rsync -avzhe ssh [email :/var/www/ /var/www
Minta kimenet
[email 's password:

receiving incremental file list
sent 128 bytes  received 32.67K bytes  5.96K bytes/sec
total size is 12.78M  speedup is 389.70

Láthatja, hogy az rsync most teljesen jól működik, és szinkronizálja az adatokat. „/var/www”-et használtam az átvitelhez; igény szerint módosíthatja a mappa helyét.

4. lépés: Automatizálja a szinkronizálást SSH-jelszó nélküli bejelentkezéssel

Most végeztünk az rsync beállításaival, és itt az ideje, hogy beállítsunk egy cron-t az rsync számára. Mivel az rsync-et az SSH protokollal fogjuk használni, az ssh hitelesítést fog kérni, és ha nem adunk meg jelszót a cron számára, akkor nem fog működni. A cron zökkenőmentes működéséhez jelszó nélküli ssh bejelentkezést kell beállítanunk az rsynchez.

Ebben a példában ezt rootként teszem, hogy megőrizzem a fájlok tulajdonjogát is, alternatív felhasználók számára is megteheti.

Először is létrehozunk egy nyilvános és privát kulcsot a következő parancsokkal a biztonsági mentési szerveren (azaz backup.example.com).

[root@backup]# ssh-keygen -t rsa -b 2048

Amikor beírja ezt a parancsot, kérjük, ne adjon meg jelszót, és kattintson az Enter billentyűre az Jelszó ürítése esetén, hogy az rsync cronnak ne legyen szüksége jelszóra az adatok szinkronizálásához.

Minta kimenet
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
9a:33:a9:5d:f4:e1:41:26:57:d0:9a:68:5b:37:9c:23 [email 
The key's randomart image is:
+--[ RSA 2048]----+
|          .o.    |
|           ..    |
|        ..++ .   |
|        o=E *    |
|       .Sooo o   |
|       =.o o     |
|      * . o      |
|     o +         |
|    . .          |
+-----------------+

Most létrejött a nyilvános és a privát kulcsunk, és meg kell osztanunk a fő szerverrel, hogy a fő webszerver felismerje ezt a biztonsági mentési gépet, és lehetővé tegye a bejelentkezéshez. jelszó kérése nélkül az adatok szinkronizálása közben.

[root@backup html]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email 

Most próbáljon meg bejelentkezni a gépre az „ssh ‘[email ’” használatával, és jelentkezzen be az.ssh/authorized_keys fájlba.

[root@backup html]# [email 

Most végeztünk a kulcsok megosztásával. Ha többet szeretne megtudni az SSH-jelszó kevesebb bejelentkezésről, olvassa el a cikkünket.

  1. SSH jelszó nélküli bejelentkezés 5 egyszerű lépésben

5. lépés: A Cron ütemezése a szinkronizálás automatizálására

Állítsunk be egy cront ehhez. A cron beállításához nyissa meg a crontab fájlt a következő paranccsal.

[root@backup ~]# crontab –e

Megnyitja az /etc/crontab fájlt, amelyet az alapértelmezett szerkesztővel szerkeszthet. Itt Ebben a példában egy cron-t írok, hogy 5 percenként lefusson az adatok szinkronizálásához.

*/5        *        *        *        *   rsync -avzhe ssh [email :/var/www/ /var/www/

A fenti cron és rsync parancs egyszerűen szinkronizálja a „/var/www/” fájlt a fő webszerverről egy tartalék szerverre minden -ban. 5 percig. Igényeinek megfelelően módosíthatja az idő és a mappa helyének konfigurációját. Ha kreatívabb akar lenni, és testreszabhatja az Rsync és Cron parancsokat, tekintse meg részletesebb cikkeinket a következő címen:

  1. 10 Rsync parancs a fájlok/mappák szinkronizálásához Linux alatt
  2. 11 Cron ütemezési példa Linuxban