Kuidas sünkroonida kahte Apache veebiserverit/veebisaiti Rsynci abil


Veebis on nii palju õpetusi, et oma veebifaile erinevate meetoditega peegeldada või neist varukoopiaid teha. Siin loo see artikkel minu edaspidiseks kasutamiseks ja siin kasutan Linuxi väga lihtsat ja mitmekülgset käsku oma veebisaidi varundamine. See õpetus aitab teil andmeid kahe veebiserveri vahel sünkroonida rakendusega „Rsync“.

Rsynciga oma veebiserveri peegli loomise eesmärk on see, et kui teie peamine veebiserver ebaõnnestub, võib teie varuserver teie veebisaidi seisakuid vähendada. See veebiserveri varukoopiate loomise viis on väga hea ja tõhus väikestele ja keskmise suurusega veebiettevõtetele.

Veebiserverite sünkroonimise eelised

Rsynciga veebiserveri varundamise loomise peamised eelised on järgmised:

  1. Rsync sünkroonib ainult muudetud baidid ja andmeplokid.
  2. Rsyncil on võimalus kontrollida ja kustutada varundusserveris olevaid faile ja katalooge, mis on põhiserverist kustutatud.
  3. See hoolitseb õiguste, omandiõiguste ja eriatribuutide eest, samal ajal andmeid kaugelt kopeerides.
  4. Samuti toetab see SSH-protokolli andmete edastamiseks krüptitud viisil, et oleksite kindel, et kõik andmed on ohutud.
  5. Rsync kasutab tihendus- ja dekompressioonimeetodit, edastades samas andmeid, mis tarbivad vähem ribalaiust.

Kuidas sünkroonida kahte Apache veebiserverit

Jätkame rsynci seadistamist veebiserveri peegli loomiseks. Kasutan siin kahte serverit.

  1. IP-aadress: 192.168.0.100
  2. Hostinimi: veebiserver.näide.com

  1. IP-aadress: 192.168.0.101
  2. Hostinimi: backup.example.com

Sel juhul peegeldatakse veebiserveri.example.com veebiserveri andmeid saidil backup.example.com. Ja selleks tuleb kõigepealt installida Rsync mõlemasse serverisse järgmise käsu abil.

 yum install rsync        [On Red Hat based systems]
 apt-get install rsync    [On Debian based systems]

Saame rsynci seadistada juurkasutajaga, kuid turvalisuse huvides saate rsynci käitamiseks luua peamise veebiserveri, st webserver.example.com, privileegideta kasutaja.

 useradd tecmint
 passwd tecmint

Siin olen loonud kasutaja “tecmint” ja määranud kasutajale parooli.

On aeg oma varundusserveris (st backup.example.com) rsynci seadistusi testida ja selleks sisestage järgmine käsk.

 rsync -avzhe ssh [email :/var/www/ /var/www
[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

Näete, et teie rsync töötab nüüd täiesti hästi ja sünkroonib andmeid. Olen ülekandeks kasutanud “/ var/www”; saate kausta asukohta vastavalt oma vajadustele muuta.

Nüüd oleme rsynci seadistustega valmis ja nüüd on aeg rsynci jaoks cron seadistada. Kuna hakkame kasutama rsyncit SSH-protokolliga, küsib ssh autentimist ja kui me ei anna cronile parooli, ei tööta see. Croni sujuvaks toimimiseks peame rsynci jaoks seadistama paroolideta ssh sisselogimise.

Siin näites teen seda juurena ka faili omandiõiguse säilitamiseks, saate seda teha ka alternatiivsete kasutajate jaoks.

Kõigepealt loome avaliku ja privaatse võtme koos järgmiste käskudega varundusserveris (st backup.example.com).

 ssh-keygen -t rsa -b 2048

Selle käsu sisestamisel ärge sisestage parooli ja klõpsake käsul Tühi parool, et rsync cron ei vajate andmete sünkroonimiseks parooli.

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 +         |
|    . .          |
+-----------------+

Nüüd on meie avalik ja privaatne võti loodud ja peame seda põhiserveriga jagama, nii et peamine veebiserver tunneb selle varundusseadme ära ja võimaldab sellel andmete sünkroonimisel parooli küsimata sisse logida.

 ssh-copy-id -i /root/.ssh/id_rsa.pub [email 

Proovige nüüd masinasse sisse logida, kasutades faili „ssh‘ [email ’”, ja registreerige .ssh/authorised_keys.

 [email 

Nüüd oleme jagamisvõtmetega valmis. SSH-parooliga vähem sisselogimise kohta põhjalikumalt tutvumiseks võite lugeda meie artiklit selle kohta.

  1. SSH paroolita sisselogimine viie lihtsa sammuga

Seadistame selle jaoks krooni. Croni seadistamiseks avage järgmise käsuga crontabi fail.

 crontab –e

See avab faili/etc/crontab, mida saate redigeerida vaikeredaktoriga. Siin Selles näites kirjutan croni andmete käivitamiseks iga 5 minuti järel andmete sünkroonimiseks.

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

Ülaltoodud käsk cron ja rsync sünkroonib "/ var/www /" lihtsalt iga 5 minuti tagant peamisest veebiserverist varundusserverisse. Aja ja kausta asukoha konfiguratsiooni saate muuta vastavalt oma vajadustele. Et olla loomingulisem ja kohandada käskudega Rsync ja Cron, saate vaadata meie üksikasjalikumaid artikleid aadressil:

  1. 10 Rsynci käsku failide/kaustade sünkroonimiseks Linuxis
  2. 11 Linuxi kroonide ajastamise näidet