Jinsi ya Kusawazisha Seva/Tovuti Mbili za Apache Kwa Kutumia Rsync


Kuna mafunzo mengi sana yanayopatikana kwenye wavuti ili kuakisi au kuchukua nakala rudufu ya faili zako za wavuti kwa njia tofauti, hapa ninaunda nakala hii kwa kumbukumbu yangu ya siku zijazo na hapa nitakuwa nikitumia amri rahisi na inayotumika ya Linux kuunda a chelezo ya tovuti yako. Mafunzo haya yatakusaidia kusawazisha data kati ya seva zako mbili za wavuti na Rsync.

Madhumuni ya kuunda kioo cha Seva yako ya Wavuti na Rsync ni kama seva yako kuu ya wavuti itashindwa, seva yako ya chelezo inaweza kuchukua nafasi ili kupunguza muda wa tovuti yako. Njia hii ya kuunda nakala rudufu ya seva ya wavuti ni nzuri sana na inafaa kwa biashara ndogo na za kati za wavuti.

Manufaa ya Kusawazisha Seva za Wavuti

Faida kuu za kuunda nakala rudufu ya seva ya wavuti na rsync ni kama ifuatavyo.

  1. Rsync husawazisha tu zile baiti na vizuizi vya data ambavyo vimebadilika.
  2. Rsync ina uwezo wa kuangalia na kufuta faili hizo na saraka kwenye seva ya chelezo ambazo zimefutwa kutoka kwa seva kuu ya wavuti.
  3. Hushughulikia ruhusa, umiliki na sifa maalum huku unakili data ukiwa mbali.
  4. Pia inasaidia itifaki ya SSH kuhamisha data kwa njia iliyosimbwa ili uhakikishwe kuwa data yote iko salama.
  5. Rsync hutumia mbinu ya kubana na kubana wakati wa kuhamisha data ambayo hutumia kipimo data kidogo.

Jinsi ya Kusawazisha Seva Mbili za Wavuti za Apache

Wacha tuendelee na kusanidi rsync kuunda kioo cha seva yako ya wavuti. Hapa, nitakuwa nikitumia seva mbili.

  1. Anwani ya IP: 192.168.0.100
  2. Jina la mpangishaji: webserver.example.com

  1. Anwani ya IP: 192.168.0.101
  2. Jina la mpangishaji: backup.example.com

Hapa katika kesi hii data ya seva ya wavuti ya webserver.example.com itaangaziwa kwenye backup.example.com. Na kufanya hivyo kwanza, tunahitaji kusakinisha Rsync kwenye seva zote kwa msaada wa amri ifuatayo.

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

Tunaweza kusanidi rsync na mtumiaji wa mizizi, lakini kwa sababu za usalama, unaweza kuunda mtumiaji asiye na usalama kwenye seva kuu ya wavuti yaani webserver.example.com ili kuendesha rsync.

 useradd tecmint
 passwd tecmint

Hapa nimeunda mtumiaji tecmint na kuweka nenosiri kwa mtumiaji.

Ni wakati wa kujaribu usanidi wako wa rsync kwenye seva yako ya chelezo (yaani backup.example.com) na kufanya hivyo, tafadhali chapa amri ifuatayo.

 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

Unaweza kuona kuwa rsync yako sasa inafanya kazi vizuri na kusawazisha data. Nimetumia /var/www kuhamisha; unaweza kubadilisha eneo la folda kulingana na mahitaji yako.

Sasa, tumemaliza na usanidi wa rsync na sasa ni wakati wake wa kusanidi cron ya rsync. Tunapotumia rsync na itifaki ya SSH, ssh itakuwa ikiuliza uthibitishaji na ikiwa hatutatoa nenosiri kwa cron haitafanya kazi. Ili kufanya kazi kwa cron vizuri, tunahitaji kusanidi logi za ssh zisizo na nenosiri kwa rsync.

Hapa katika mfano huu, ninaifanya kama mzizi kuhifadhi umiliki wa faili pia, unaweza kuifanya kwa watumiaji mbadala pia.

Kwanza, tutatengeneza ufunguo wa umma na wa faragha wenye amri zifuatazo kwenye seva ya chelezo (yaani backup.example.com).

 ssh-keygen -t rsa -b 2048

Unapoingiza amri hii, tafadhali usitoe kaulisiri na ubofye ingiza kwa kaulisiri Tupu ili rsync cron haitaji nenosiri lolote kwa kusawazisha data.

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

Sasa, ufunguo wetu wa Umma na wa Kibinafsi umetolewa na itatubidi kuushiriki na seva kuu ili seva kuu ya wavuti itambue mashine hii ya kuhifadhi nakala na itairuhusu kuingia bila kuuliza nenosiri lolote wakati wa kusawazisha data.

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

Sasa jaribu kuingia kwenye mashine, ukitumia “ssh ‘[email ’”, na uingie .ssh/authorized_keys.

 [email 

Sasa, tumemaliza na funguo za kushiriki. Ili kujua kwa kina zaidi juu ya kuingia kidogo kwa nenosiri la SSH, unaweza kusoma nakala yetu juu yake.

  1. SSH Ingia Bila Nenosiri katika Hatua 5 Rahisi

Wacha tusanidi cron kwa hili. Ili kusanidi cron, tafadhali fungua faili ya crontab kwa amri ifuatayo.

 crontab –e

Itafungua /etc/crontab faili ili kuhariri na kihariri chako chaguo-msingi. Hapa Katika mfano huu, ninaandika cron ili kuiendesha kila dakika 5 ili kusawazisha data.

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

Amri iliyo hapo juu ya cron na rsync kusawazisha /var/www/ kutoka kwa seva kuu ya wavuti hadi seva mbadala katika kila dakika 5. Unaweza kubadilisha saa na usanidi wa eneo la folda kulingana na mahitaji yako. Ili kuwa mbunifu zaidi na kubinafsisha ukitumia amri ya Rsync na Cron, unaweza kuangalia nakala zetu za kina kwa:

  1. Amri 10 za Usawazishaji ili Kusawazisha Faili/Folda katika Linux
  2. Mifano 11 ya Kuratibu ya Cron katika Linux