Jak zsynchronizować dwa serwery/strony internetowe Apache za pomocą RSYNC
- 677
- 87
- Igor Madej
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 ApacheCel 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:
- Rsync synchronizuje tylko te bajty i bloki danych, które się zmieniły.
- 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.
- Zajmuje się uprawnieniami, właścicielami i specjalnymi atrybutami podczas zdalnego kopiowania danych.
- Obsługuje również protokół SSH w celu przesyłania danych w sposób zaszyfrowany, abyś był pewien, że wszystkie dane są bezpieczne.
- 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
- Adres IP: 192.168.0.100
- Nazwa hosta: serwer internetowy.przykład.com
Serwer zapasowy
- Adres IP: 192.168.0.101
- 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.
- 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:
- 10 poleceń rsync do synchronizacji plików/folderów w Linux
- 11 Przykłady planowania cron w Linux
- « PAC Manager A zdalne narzędzie do zarządzania sesją SSH/FTP/Telnet
- Commander Midnight - Menedżer plików oparty na konsoli dla Linux »