Jak zsynchronizować dwa serwery/strony internetowe Apache za pomocą RSYNC

Jak zsynchronizować dwa serwery/strony internetowe Apache za pomocą RSYNC

Istnieje tak wiele samouczków dostępnych w Internecie do odzwierciedlenia lub wykonania kopii zapasowej plików internetowych za pomocą różnych metod, tutaj tworzę ten artykuł dla mojego przyszłego odniesienia i tutaj będę używać bardzo prostej i wszechstronnej polecenia Linux Aby stworzyć kopię zapasową swojej witryny. Ten samouczek pomoże Ci zsynchronizować dane między dwoma serwerami internetowymi z „Rsync".

Synchronizuj dwa serwer WWW Apache

Cel stworzenia lustra Serwer internetowy z Rsync Jeśli twój główny serwer WWW się nie powiedzie, Twój serwer kopii zapasowej może przejąć kontrolę nad czasem przestojów witryny. Ten sposób tworzenia kopii zapasowej serwera WWW jest bardzo dobry i skuteczny dla małych i średnich firm internetowych.

Zalety synchronizacji serwerów internetowych

Główne zalety tworzenia kopii zapasowej serwera WWW za pomocą RSync są następujące:

  1. Rsync synchronizuje tylko te bajty i bloki danych, które się zmieniły.
  2. RSync ma możliwość sprawdzania i usuwania tych plików i katalogów na serwerze kopii zapasowej, które zostały usunięte z głównego serwera WWW.
  3. Zajmuje się uprawnieniami, właścicielami i specjalnymi atrybutami podczas zdalnego kopiowania danych.
  4. Obsługuje również protokół SSH w celu przesyłania danych w sposób zaszyfrowany, abyś był pewien, że wszystkie dane są bezpieczne.
  5. RSync wykorzystuje metodę kompresji i dekompresji podczas przesyłania danych, która zużywa mniejszą przepustowość.

Jak zsynchronizować dwa serwery internetowe Apache

Konfigurujmy konfigurację rsync, aby utworzyć lustro twojego serwera internetowego. Tutaj będę używać dwóch serwerów.

Serwer główny
  1. Adres IP: 192.168.0.100
  2. Nazwa hosta: serwer internetowy.przykład.com
Serwer zapasowy
  1. Adres IP: 192.168.0.101
  2. Nazwa hosta: kopia zapasowa.przykład.com

Krok 1: Zainstaluj narzędzie RSYNC

Tutaj w tym przypadku dane serwera WWW serwer internetowy.przykład.com będzie zwierciadł kopia zapasowa.przykład.com. Aby to zrobić najpierw, musimy zainstalować Rsync na obu serwerze za pomocą następującego polecenia.

[[chroniony e -mail]]# Yum instaluj rsync [on czerwony kapelusz systemy oparte] [[chroniony e-mail]]# apt-get instaluj rsync [on Debian systemy oparte]

Krok 2: Utwórz użytkownika, aby uruchomić rsync

Możemy skonfigurować rsync z źródło Użytkownik, ale ze względów bezpieczeństwa możesz utworzyć nieuprzywilejowanego użytkownika na głównym serwisie internetowym I.mi serwer internetowy.przykład.com Aby uruchomić rsync.

[[e -mail chroniony]]# useradd TecMint [[e -mail chroniony]]# PASSWD TECMINT

Tutaj utworzyłem użytkownika „Tecmint”I przypisał hasło użytkownikowi.

Krok 3: Konfiguracja testu RSYNC

Czas przetestować konfigurację RSync na serwerze kopii zapasowej (i.mi. kopia zapasowa.przykład.com) i aby to zrobić, wpisz następujące polecenie.

[[e -mail chroniony] www]# rsync -Avzhe ssh [e -mail chroniony]:/var/www//var/www
Przykładowy wyjście
[E -mail chroniony] hasło: odbieranie listy plików przyrostowych wysłanych 128 bajtów otrzymanych 32.67 tys. Bajtów 5.96 tys. Bajtów/SEC Całkowity rozmiar to 12.78 m szybkość wynosi 389.70

Możesz zobaczyć, że Twój RSync działa teraz absolutnie i synchronizuje dane. Używałem "/var/www" przenieść; Możesz zmienić lokalizację folderu zgodnie z Twoimi potrzebami.

Krok 4: Zautomatyzuj synchronizację z loginem bez hasła SSH

Teraz skończyliśmy z konfiguracją rsync i teraz nadszedł czas, aby skonfigurować Cron dla rsync. Jak będziemy korzystać z rsync z Ssh Protokół, SSH będzie prosić o uwierzytelnianie i jeśli nie podamy hasła dla Cron, nie zadziała. Aby płynnie pracować Cron, musimy skonfigurować Loginy SSH bez hasła dla rsync.

Tutaj w tym przykładzie robię to jako źródło zachować Właściciele plików Również możesz to zrobić również dla alternatywnych użytkowników.

Najpierw wygenerujemy publiczny I prywatny Klucz z następującymi poleceniami na serwerze kopii zapasowych (i.mi. kopia zapasowa.przykład.com).

[[e -mail chroniony]]# ssh -keygen -t rsa -b 2048

Po wprowadzeniu tego polecenia nie podawaj hasła i kliknij Enter dla Pusta hasła Aby Rsync Cron nie będzie potrzebował hasła do synchronizacji danych.

Przykładowy wyjście
Generowanie publicznej/prywatnej pary kluczy RSA. Wprowadź plik, w którym zapisz klucz (/root/.SSH/ID_RSA): Wprowadź hasło (pusta dla braku hasła): Wprowadź ponownie ten sam pasek: Twoja identyfikacja została zapisana w/root/.ssh/id_rsa. Twój klucz publiczny został zapisany w /root /.ssh/id_rsa.pub. Kluczowy odcisk palca to: 9A: 33: A9: 5D: F4: E1: 41: 26: 57: D0: 9A: 68: 5B: 37: 9c: 23 [chroniony e-mail] Randomart obraz klucza to: +-[ RSA 2048] ----+ | .o. |. |… | |… ++ . |. |. O = E * | | .Sooo o | |. =.O o | |. * . O | |. o + | |… | +-----------------+

Teraz nasz Publiczny I Prywatny Klucz został wygenerowany i będziemy musieli udostępnić go głównym serwerze, aby główny serwer WWW rozpoznał ten komputer kopii zapasowej i pozwolił mu się zalogować bez zaproszenia hasła podczas synchronizacji danych.

[[e-mail chroniony] html]# ssh-copy-id -i /root /.ssh/id_rsa.pub [e -mail chroniony]

Teraz spróbuj zalogować się do maszyny, z „ssh '[chroniony e -mail]'”I zamelduj .ssh/autoryzowane_keys.

[[e -mail chroniony] html]# [e -mail chroniony]

Teraz skończymy z udostępnianiem kluczy. Aby dowiedzieć się więcej szczegółowo o Hasło ssh mniej się logowanie, Możesz przeczytać nasz artykuł na ten temat.

  1. Login bez hasła SSH w 5 prostych krokach

Krok 5: Zaplanuj Cron, aby zautomatyzować synchronizację

Skonfigurujmy do tego Cron. Aby skonfigurować cron, otwórz plik crontab za pomocą następującego polecenia.

[[e -mail chroniony] ~]# crontab -e

Otworzy plik /etc /crontab, aby edytować z domyślnym edytorem. Tutaj w tym przykładzie piszę cron, aby uruchomić go co 5 minut, aby zsynchronizować dane.

*/5 * * * * rsync -Avzhe ssh [e -mail chroniony]:/var/www//var/www/

Powyższe polecenie CRON i RSYNC po prostu synchronizuje „/var/www/”Z głównego serwer internetowy do serwer zapasowy w każdym 5 minut. Możesz zmienić konfigurację czasu i lokalizacji folderów zgodnie z Twoimi potrzebami. Być bardziej kreatywnym i dostosowywaniem Rsync I Cron Polecenie, możesz sprawdzić nasze bardziej szczegółowe artykuły na:

  1. 10 poleceń rsync do synchronizacji plików/folderów w Linux
  2. 11 Przykłady planowania cron w Linux