Kahden Apache-verkkopalvelimen/verkkosivuston synkronoiminen Rsyncin avulla


Verkossa on niin monia opetusohjelmia, joiden avulla voit peilata tai varmuuskopioida verkkotiedostojasi eri menetelmillä, tässä luon tämän artikkelin tulevaa käyttöä varten ja käytän tässä hyvin yksinkertaista ja monipuolista Linux-komentoa. luodaksesi varmuuskopion verkkosivustostasi. Tämä opetusohjelma auttaa sinua synkronoimaan tietoja kahden verkkopalvelimesi välillä käyttämällä Rsync-toimintoa.

Verkkopalvelimesi peilikuvan luomisen Rsync avulla tarkoituksena on, että jos pääverkkopalvelimesi epäonnistuu, varapalvelimesi voi ottaa vastuun ja vähentää verkkosivustosi seisokkeja. Tämä tapa luoda verkkopalvelimen varmuuskopio on erittäin hyvä ja tehokas pienille ja keskisuurille verkkoyrityksille.

Web-palvelimien synkronoinnin edut

Verkkopalvelimen varmuuskopion luomisen tärkeimmät edut rsyncin avulla ovat seuraavat:

  1. Rsync synkronoi vain ne tavut ja tietolohkot, jotka ovat muuttuneet.
  2. Rsync pystyy tarkistamaan ja poistamaan ne tiedostot ja hakemistot varmuuskopiopalvelimelta, jotka on poistettu pääverkkopalvelimelta.
  3. Se huolehtii käyttöoikeuksista, omistajuksista ja erikoismääritteistä kopioidessaan tietoja etänä.
  4. Se tukee myös SSH-protokollaa tietojen siirtämiseen salatulla tavalla, jotta voit olla varma, että kaikki tiedot ovat turvassa.
  5. Rsync käyttää pakkaus- ja purkumenetelmää siirtäessään tietoja, jotka kuluttavat vähemmän kaistanleveyttä.

Kuinka synkronoida kaksi Apache-verkkopalvelinta

Jatketaan rsyncin määrittämistä verkkopalvelimesi peilin luomiseksi. Tässä käytän kahta palvelinta.

Pääpalvelin
  1. IP-osoite: 192.168.0.100
  2. Isäntänimi: webserver.example.com
Varmuuskopiopalvelin
  1. IP-osoite: 192.168.0.101
  2. Isäntänimi: backup.example.com

Vaihe 1: Asenna Rsync Tool

Tässä tapauksessa osoitteen webserver.example.com verkkopalvelimen tiedot peilataan osoitteessa backup.example.com. Ja tehdäksesi niin, meidän on ensin asennettava Rsync molemmille palvelimelle seuraavan komennon avulla.

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

Vaihe 2: Luo käyttäjä Rsyncin suorittamista varten

Voimme määrittää rsyncin root-käyttäjän kanssa, mutta turvallisuussyistä voit luoda etuoikeutettoman käyttäjän pääverkkopalvelimelle, eli webserver.example.com suorittaaksesi rsyncin.

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

Täällä olen luonut käyttäjän "tecmint" ja määrittänyt käyttäjälle salasanan.

Vaihe 3: Testaa Rsync-asetukset

On aika testata rsync-asetuksiasi varmuuskopiopalvelimellasi (eli backup.example.com) ja tehdä niin kirjoittamalla seuraava komento.

[root@backup www]# rsync -avzhe ssh [email :/var/www/ /var/www
Näytelähtö
[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

Voit nähdä, että rsync toimii nyt täysin hyvin ja synkronoi tiedot. Olen käyttänyt "/var/www" siirtoon; voit muuttaa kansion sijaintia tarpeidesi mukaan.

Vaihe 4: Automatisoi synkronointi SSH-salasanattomalla kirjautumisella

Nyt rsync-asetukset on tehty, ja nyt on aika määrittää cron rsyncille. Koska aiomme käyttää rsyncia SSH-protokollan kanssa, ssh pyytää todennusta, ja jos emme anna salasanaa cronille, se ei toimi. Jotta cron toimisi sujuvasti, meidän on määritettävä rsyncille salasanattomat ssh-kirjautumiset.

Tässä esimerkissä teen sen juurikäyttäjänä säilyttääkseni myös tiedostojen omistajuudet. Voit tehdä sen myös vaihtoehtoisille käyttäjille.

Ensin luomme julkisen ja yksityisen avaimen seuraavilla komennoilla varmuuskopiopalvelimelle (eli backup.example.com).

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

Kun annat tämän komennon, älä anna tunnuslausetta ja napsauta Enter-painiketta Tyhjennä tunnuslauseen kohdalla, jotta rsync cron ei tarvitse salasanaa tietojen synkronointiin.

Näytelähtö
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 +         |
|    . .          |
+-----------------+

Nyt meidän julkinen ja yksityinen avaimemme on luotu ja meidän on jaettava se pääpalvelimen kanssa, jotta pääverkkopalvelin tunnistaa tämän varmuuskopiokoneen ja antaa sen kirjautua sisään. kysymättä salasanaa tietojen synkronoinnin aikana.

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

Yritä nyt kirjautua sisään koneelle "ssh '[sähköpostisuojattu]"" ja kirjaudu sisään .ssh/authorized_keys.

[root@backup html]# [email 

Nyt avainten jakaminen on valmis. Saat lisätietoja SSH-salasanalla vähemmän kirjautumisesta lukemalla sitä käsittelevän artikkelimme.

  1. Salasanaton SSH-kirjautuminen 5 helpossa vaiheessa

Vaihe 5: Ajoita Cron automatisoimaan synkronointi

Asetetaan cron tähän. Asettaaksesi cronin, avaa crontab-tiedosto seuraavalla komennolla.

[root@backup ~]# crontab –e

Se avaa /etc/crontab-tiedoston, jota voit muokata oletuseditorillasi. Tässä Tässä esimerkissä kirjoitan cronin suorittamaan sen 5 minuutin välein tietojen synkronoimiseksi.

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

Yllä oleva cron- ja rsync-komento yksinkertaisesti synkronoi "/var/www/" pääverkkopalvelimesta varapalvelimeen jokaisessa 5 minuuttia. Voit muuttaa aika- ja kansion sijainnin asetuksia tarpeidesi mukaan. Jos haluat olla luovempi ja muokata Rsync- ja Cron-komennoilla, voit tutustua yksityiskohtaisempiin artikkeleihimme osoitteessa:

  1. 10 Rsync-komentoa tiedostojen/kansioiden synkronoimiseksi Linuxissa
  2. 11 Cron-aikataulutusesimerkkiä Linuxissa