Wéi synchroniséiert zwee Apache Webserveren/Websäite mat Rsync


Et gi sou vill Tutorials um Internet verfügbar fir Är Webdateien mat verschiddene Methoden ze spigelen oder e Backup ze huelen, hei erstellen ech dësen Artikel fir meng zukünfteg Referenz an hei wäert ech e ganz einfachen a versatile Kommando vu Linux benotzen fir e Backupsatellit vun Ärer Websäit. Dësen Tutorial hëlleft Iech Daten tëscht Ären zwee Webserver mat Rsync ze synchroniséieren.

Den Zweck fir e Spigel vun Ärem Webserver mat Rsync ze kreéieren ass wann Ären Haaptwebserver feelt, Äre Backup-Server kann iwwerhuelen fir d'Downtime vun Ärer Websäit ze reduzéieren. Dëse Wee fir e Webserver-Backup ze kreéieren ass ganz gutt an effektiv fir kleng a mëttelgrouss Webgeschäfter.

Virdeeler vun Synchroniséierung Web Serveren

D'Haaptvirdeeler fir e Webserver-Backup mat rsync ze kreéieren sinn wéi follegt:

  1. Rsync synchroniséiert nëmmen déi Bytes an Datenblocken déi geännert hunn.
  2. Rsync huet d'Fäegkeet dës Dateien an Verzeichnisser um Backupserver ze kontrolléieren an ze läschen, déi vum Haaptwebserver geläscht goufen.
  3. Et këmmert sech ëm Permissiounen, Proprietairen a speziell Attributer wärend d'Daten op afstand kopéiert.
  4. Et ënnerstëtzt och SSH Protokoll fir Daten op eng verschlësselte Manéier ze transferéieren sou datt Dir sécher sidd datt all Daten sécher sinn.
  5. Rsync benotzt Kompressiouns- an Dekompressiounsmethod wärend Daten iwwerdroen déi manner Bandbreedung verbrauchen.

Wéi synchroniséiert zwee Apache Web Serveren

Loosst eis weidergoen mat rsync opzestellen fir e Spigel vun Ärem Webserver ze kreéieren. Hei wäert ech zwee Server benotzen.

  1. IP Adress: 192.168.0.100
  2. Hostnumm: webserver.example.com

  1. IP Adress: 192.168.0.101
  2. Hostnumm: backup.example.com

Hei an dësem Fall Webserver Daten vun webserver.example.com ginn op backup.example.com gespigelt. A fir dat als éischt ze maachen, musse mir Rsync op béide Server installéieren mat der Hëllef vum folgenden Kommando.

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

Mir kënnen rsync mat Root Benotzer konfiguréieren, awer aus Sécherheetsgrënn kënnt Dir en onprivilegéierte Benotzer um Haaptwebserver erstellen dh webserver.example.com fir rsync ze lafen.

 useradd tecmint
 passwd tecmint

Hei hunn ech e Benotzer tecmint erstallt an de Benotzer e Passwuert zougewisen.

Et ass Zäit Äre rsync-Setup op Ärem Backup-Server (dh backup.example.com) ze testen a fir dat ze maachen, gitt w.e.g. folgend Kommando.

 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

Dir kënnt gesinn datt Ären rsync elo absolut gutt funktionnéiert an d'Donnéeën synchroniséiert. Ech hunn/var/www benotzt fir ze transferéieren; Dir kënnt den Ordner Location no Äre Besoinen änneren.

Elo si mir fäerdeg mat rsync Setups an elo ass et Zäit fir e Cron fir rsync opzestellen. Wéi mir rsync mam SSH Protokoll benotzen, freet ssh no Authentifikatioun a wa mir kee Passwuert ubidden fir ze cron, funktionnéiert et net. Fir Cron glat ze schaffen, musse mir Passwuertlos ssh Login fir rsync astellen.

Hei an dësem Beispill maachen ech et als Root fir Dateiebesëtzer och ze erhaalen, Dir kënnt et och fir alternativ Benotzer maachen.

Als éischt generéiere mir en ëffentlechen a private Schlëssel mat de folgende Kommandoen um Backup-Server (dh backup.example.com).

 ssh-keygen -t rsa -b 2048

Wann Dir dëse Kommando gitt, gitt w.e.g. kee Passwuert a klickt Enter fir eidel Passwuert sou datt rsync cron kee Passwuert brauch fir Daten ze synchroniséieren.

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

Elo ass eisen Ëffentlechen a Privatschlëssel generéiert a mir mussen et mam Haaptserver deelen, sou datt den Haaptwebserver dës Backupmaschinn erkennt an et erlaabt Iech aloggen ouni Passwuert ze froen beim Synchroniséierung vun Daten.

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

Elo probéiert Iech op d'Maschinn ze loggen, mat ssh '[Email geschützt]', a kontrolléiert .ssh/authorized_keys.

 [email 

Elo si mir fäerdeg mat Deele Schlësselen. Fir méi am-Déift iwwer SSH Passwuert manner Login ze wëssen, kënnt Dir eisen Artikel doriwwer liesen.

  1. SSH Passwuertlos Login a 5 einfache Schrëtt

Loosst eis e Cron fir dëst opstellen. Fir e Cron opzemaachen, öffnen w.e.g. d'crontab Datei mat dem folgenden Kommando.

 crontab –e

Et wäert /etc/crontab Datei opmaachen fir mat Ärem Standardeditor z'änneren. Hei An dësem Beispill schreiwen ech e Cron fir et all 5 Minutten ze lafen fir d'Donnéeën ze synchroniséieren.

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

Deen uewe genannte Cron an rsync Kommando synchroniséiert einfach /var/www/ vum Haaptwebserver op e Backup Server an all 5 Minutten. Dir kënnt d'Zäit an den Ordner Standortkonfiguratioun no Äre Besoinen änneren. Fir méi kreativ ze sinn an ze personaliséieren mam Rsync a Cron Kommando, kënnt Dir eis méi detailléiert Artikelen kucken op:

  1. 10 Rsync Kommandoen fir Dateien/Dossier op Linux ze synchroniséieren
  2. 11 Cron Scheduling Beispiller am Linux