Jak używać Unison do synchronizacji plików między serwerami

Jak używać Unison do synchronizacji plików między serwerami
Ten samouczek pokaże, jak skonfigurować i używać narzędzia synchronizacji plików Unison w systemach Debian. Korzystając z UNISON, możesz synchronizować pliki między dwoma różnymi dyskami lub katalogami w tym samym systemie lub dwóch innych systemach w sieci.

Co to jest jednocześnie?

Technologia UNISON opracowana przez Benjamina C Pierce na podstawie licencji GPL pozwala użytkownikom na synchronizację dwóch pojedynczych instancji w tym samym systemie, ale różne dyski lub dwa inne systemy.

Unison umożliwia przechowywanie zaktualizowanej i identycznej wersji tego samego pliku lub katalogu. Można go wykorzystać w szerokiej gamie kontekstów, takich jak SSH, umożliwiając bezpieczne przesyłanie danych między urządzeniami lub kataliskami.

Narzędzie UNISON jest platformami krzyżowymi, umożliwiając użytkownikom synchroniza. Na przykład możesz synchronizować pliki z systemu Linux z systemem BSD. Ze względu na funkcje bezpieczeństwa, Unison Syncs Files and Directory oraz stosuje prawa własności i uprawnienia do obu systemów.

Narzędzie UNISON opracowuje się z myślą o bezpieczeństwie i może przetrwać niepowodzenia, w których zakłócenia występują między punktami synchronizacji. Jeśli Unison wykryje konflikty plików i katalogu, zgłasza istniejące konflikty i pozwala użytkownikom wybrać, która wersja plików powinna zastosować.

Unison może działać z lub obsługą sieci-slow, co czyni go bardzo wydajnym narzędziem do korzystania z przepustowości. Synchronizuje tylko części i katalogi, które zmieniły.

Pomimo jego głównego kontekstu użytkowania, Unison jest potężnym narzędziem, które można zmodyfikować, aby stworzyć szeroki zakres przypadków użycia.

W tym samouczku omówi się, jak zainstalować i skonfigurować system synchronizacji plików UNISON na Debian 10.

Jak zainstalować Unison na Debian 10

Unison jest popularnym narzędziem; Z tego powodu jest dostępny w oficjalnych repozytoriach dużych dystrybucji Linuksa.

Aby zainstalować wersję linii poleceń na Debian, zacznij aktualizować system:

aktualizacja sudo apt-get && sudo apt-get aktualizację

Następnie użyj komendy prostego apt, aby zainstalować narzędzie.

sudo apt -get instal instalue -y -y

Jeśli masz środowisko stacjonarne zainstalowane w systemie i wolisz wersję GUI narzędzia, zainstaluj Unison-GTK za pomocą polecenia:

sudo apt-get instaluj Unison-GTK

NOTATKA: Upewnij się, że instalujesz Unison w obu wersjach systemów, które chcesz synchronizować pliki między nimi. Aby uzyskać kompatybilność i zminimalizować szanse na błędy, lepiej mieć tę samą wersję Unison w obu systemach.

Jak synchronizować pliki z Unison

Unison zapewnia nam sposoby synchronizacji plików i katalogów między maszynami lokalnymi i zdalnymi maszynami za pomocą połączeń bezpośrednich i SSH. Ponieważ synchronizujemy się między dwoma serwerami Debiana, pomijamy synchronizację maszyn lokalnych.

Unisison zdalny i zdalny synchronizacja za pośrednictwem SSH

Aby zsynchronizować pliki i katalogi między zdalnymi maszynami, musisz zainstalować Unison w obu systemach, mieć dostęp do SSH zarówno do systemów, jak i ich adresów IP.

Możesz także użyć komputera lokalnego jako jednego serwera i urządzenia zdalnego jako drugiego serwera.

  • 192.168.0.200 - serwer1
  • 192.168.0.201 - Server2

Pierwszym krokiem jest stworzenie prywatnego i publicznego klucza na zdalnym serwerze1.

SSH -KEYGEN -T RSA
Generowanie publicznej/prywatnej pary kluczy RSA.
Wprowadź plik, w którym można zapisać klucz (/home/csalem/.ssh/id_rsa):
Utworzony katalog '/home/csalem/.ssh '.
Wprowadź hasło (pusta dla braku pensy):
Wprowadź ponownie tę samą przełom:
Twoja identyfikacja została zapisana w/Home/csalem/.ssh/id_rsa.
Twój klucz publiczny został zapisany w/home/csalem/.ssh/id_rsa.pub.
Kluczowy odcisk palca to:
SHA256: 4P5YUBEA5LRINZQPGWHRVHSS0TNLIIL70A0Q2MFCS8 CSALEM@Debian-PC
Losowy obraz sztuki klucza to:
+---[RSA 2048]----+
|+/@=… |
| =*O == |
| ++ OE . |
|+*o… |
| O+= . S |
|++. o . |
| oo… o |
|.o . = . |
|… O o |
+----[SHA256]-----+

Szybko przejdź proces generowania klucza i zapisz plik. Nie dodawaj hasła, ponieważ może ona utrudniać synchronizację niezamonitorowaną między serwerami.

Następnie skopiuj klucz z serwera 1 na serwer2 za pomocą polecenia:

SSH-COPY-ID 192.168.0.201

Teraz, gdy masz konfigurację SSH w obu systemach, możesz zacząć Unison z synchronizacją plików i katalogów.

Przetestujmy użycie Unison na obu serwerach, tworząc katalog, który zsynchronizujemy na serwerze1:

mkdir -p /dir1

Na serwerze2 utwórz katalog jak wyżej

mkdir -p /dir2

Jak wspomniano, Unison szanuje uprawnienia użytkownika. Dlatego najlepiej zmienić uprawnienia i własność w obu katalogach, aby oba katalogi były uprawnień odczytu i pisania.

Następnie dodaj wszystkie dane, które chcesz zsynchronizować między serwerami w DIR1. Na przykład dodaj kilka plików zip.

sudo mv ~/dokumenty.Zip /Dir1

Mając pliki, chcemy zsynchronizować w odpowiednim katalogu, uruchom polecenie UNISON, aby zsynchronizować z serwera pierwszego jako:

UNISON/DIR1 SSH: // 192.168.0.201 // Dir2

Po pierwszym uruchomieniu Unison otrzymasz ostrzeżenie, że proces synchronizacji może potrwać trochę czasu. Jeśli masz duże pliki w katalogach, może to potrwać trochę czasu, ale ponieważ używamy go tylko do celów testowych, powinno być stosunkowo szybkie.

Naciśnij Enter, aby rozpocząć proces synchronizacji. Po zakończeniu procesu synchronizacji przejdź do serwera2, przejdź do DIR2 i wymień zawartość katalogu jako:

cd /dir2 && ls -la
-RW-R-R-- 1 Root root 436 5 stycznia 12:57 Dokumenty.zamek błyskawiczny

Modyfikowanie konfiguracji UNISON

W większości przypadków nie chcemy interaktywnie synchronizować plików między tymi serwerami, ponieważ proces jest powtarzalny i nieefektywny. Możemy edytować plik konfiguracyjny Unison, aby umożliwić automatyczne pliki synchronizacji.

Użyj poniższego polecenia, aby edytować domyślny plik konfiguracyjny:

sudo vi ~/.Unison/Domyślnie.prf

W pliku dodaj następujące wiersze:

auto = true
partia = true

Powyższe linie wyłączają podpowiedzi podczas synchronizacji plików, automatyzując proces.

Konfigurowanie Unison Cronjob

Jedną pewną rzeczą jest to, że programiści bardzo niechęci do robienia rzeczy ręcznych, zwłaszcza gdy można zautomatyzować, co jest tutaj. Możemy skonfigurować cronjob dla Unison, aby automatycznie wykonywać synchronizację.

W serwerze1 utwórz prosty skrypt bash, aby uruchomić polecenie UNISON jako:

sudo touch/usr/bin/unisoncron && sudo vi/usr/bin/unisoncron

W pliku zacznij od shebang i dodaj polecenie SYNC UNISON:

#!/bin/bash/
UNISON/DIR1 SSH: // 192.168.0.201 // Dir2

Jak zwykle spraw, aby skrypt wykonał uprawnienia:

sudo chmod 755/usr/bin/unisoncron

Teraz edytuj swój plik Cronjob z Crontab:

sudo crontab -e

Jeśli jest to twoja pierwsza edycja crontab-i mam nadzieję, że nie jest to wybrane redaktor i wprowadź następujący wiersz, aby zsynchronizować się z Unison co 1 godzinę:

*/60 * * * */usr/bin/unisoncron &>/dev/null

Możesz także skonfigurować crontab, aby działał o określonych porach dnia. Nie musisz również używać skryptu i możesz używać surowego polecenia w crontab.

Wniosek

Ten samouczek pokazał, jak zainstalować i konfigurować Unison w systemie Debian dla synchronizacji plików i katalogów.

Chociaż ten szybki przewodnik może pomóc Ci zacząć, możesz dowiedzieć się więcej, używając stron Unison Man (strony ręczne) lub oficjalnej dokumentacji przy użyciu zasobu podanego poniżej:

  • https: // www.cis.Upenn.edu/~ bcpierce/unison/
  • https: // www.cis.Upenn.edu/~ bcPierce/Unison/Download/Empleases/Stable/Unison-Manual.html