Debiana

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 Ci, jak skonfigurować i używać narzędzia do synchronizacji plików Unison w systemach Debian. Używając Unison, możesz synchronizować pliki między dwoma różnymi dyskami lub katalogami w tym samym systemie lub dwóch innych systemach przez sieć.

Co to jest Unisono?

Technologia Unison opracowana przez Benjamina C Pierce'a na licencji GPL pozwala użytkownikom synchronizować dwa pojedyncze wystąpienia plików w tym samym systemie, ale na różnych dyskach lub w dwóch innych systemach.

Unison pozwala zachować zaktualizowaną i identyczną wersję tego samego pliku lub katalogu. Można go wykorzystać w wielu różnych kontekstach, takich jak SSH, umożliwiając bezpieczne przesyłanie danych między urządzeniami lub katalogami.

Narzędzie Unison jest wieloplatformowe, umożliwiając użytkownikom synchronizację plików i katalogów między systemami z tym samym lub różnymi systemami operacyjnymi. Na przykład możesz synchronizować pliki z systemu Linux do systemu BSD. Ze względu na swoje funkcje bezpieczeństwa Unison synchronizuje pliki i katalogi oraz stosuje prawa własności i uprawnienia w obu systemach.

Narzędzie Unison zostało opracowane z myślą o bezpieczeństwie i może przetrwać awarie, w których występują przerwy między punktami synchronizacji. Jeśli Unison wykryje konflikty plików i katalogów, zgłasza istniejące konflikty i umożliwia użytkownikom wybór wersji plików, które mają zostać zastosowane.

Unison może współpracować z wolnymi sieciami lub je obsługiwać, co czyni go bardzo wydajnym narzędziem do wykorzystania przepustowości. Synchronizuje tylko te części i katalogi, które uległy zmianie, zapobiegając w ten sposób dużemu obciążeniu i bardzo łatwo i szybko aktualizując proces synchronizacji.

Pomimo podstawowego kontekstu użycia, Unison jest potężnym narzędziem, które można modyfikować w celu stworzenia szerokiej gamy przypadków użycia.

Ten samouczek omówi, jak zainstalować i skonfigurować system synchronizacji plików Unison na Debianie 10.

Jak zainstalować Unison na Debianie 10

Unison to popularne narzędzie; dzięki temu jest dostępny w oficjalnych repozytoriach głównych dystrybucji Linuksa.

Aby zainstalować wersję Unison z wiersza poleceń na Debianie, rozpocznij aktualizację systemu:

aktualizacja sudo apt-get && aktualizacja sudo apt-get

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

sudo apt-get install unison -y

Jeśli masz zainstalowane środowisko graficzne w swoim systemie i wolisz wersję GUI narzędzia, zainstaluj unison-gtk za pomocą polecenia:

sudo apt-get install unison-gtk

UWAGA: Upewnij się, że zainstalowałeś Unison w obu wersjach systemów, które chcesz synchronizować między nimi. Aby zapewnić kompatybilność i zminimalizować ryzyko wystąpienia błędów, lepiej mieć tę samą wersję Unison w obu systemach.

Jak zsynchronizować pliki z Unison

Unison zapewnia nam sposoby synchronizowania plików i katalogów między komputerami lokalnymi i zdalnymi przy użyciu bezpośrednich połączeń gniazdowych i SSH. Ponieważ synchronizujemy między dwoma serwerami Debiana, pominiemy synchronizację lokalnej maszyny.

Unison Remote i Remote Sync przez SSH

Aby synchronizować pliki i katalogi między zdalnymi maszynami, musisz mieć zainstalowany Unison w obu systemach, mieć dostęp SSH do obu systemów i ich adresów IP.

Możesz także użyć swojej lokalnej maszyny jako jednego serwera, a urządzenia zdalnego jako drugiego serwera.

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

ssh-keygen -t rsa
Generowanie pary kluczy publiczny/prywatny rsa.
Wpisz plik, w którym chcesz zapisać klucz (/home/csalem/.ssh/id_rsa):
Utworzony katalog '/home/csalem/.ciii.
Wpisz hasło (puste, jeśli nie ma hasła):
Wprowadź ponownie to samo hasło:
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:4p5YuEBEa5lrINzqPgwHRVhSS0TNlIIl70A0q2MFcS8 csalem@Debian-PC
Losowy obraz graficzny klucza to:
+---[RPA 2048]----+
|+/@=… |
|=*O== |
|++OE . |
|++o… |
|o+= . S |
|++. o . |
|oo… o |
|.o . = . |
|…oo |
+----[SHA256]-----+

Szybko pomiń proces generowania klucza i zapisz plik. Nie dodawaj hasła, ponieważ może to utrudnić niemonitorowaną synchronizację między serwerami.

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

ssh-copy-id 192.168.0.201

Teraz, gdy masz skonfigurowaną konfigurację SSH na obu systemach, możesz uruchomić Unison, aby zsynchronizować pliki i katalogi.

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

mkdir -p /dir1

Na serwerze2 utwórz katalog jak powyżej

mkdir -p /dir2

Jak wspomniano, Unison szanuje uprawnienia użytkowników. Dlatego najlepiej jest zmienić uprawnienia i właściciela w obu katalogach, aby upewnić się, że oba katalogi mają uprawnienia do odczytu i zapisu.

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

sudo mv ~/Dokumenty.zip /katalog1

Mając pliki, które chcemy zsynchronizować w odpowiednim katalogu, uruchom polecenie unison, aby zsynchronizować z serwera jeden jako:

unisono /dir1 ssh://192.168.0.201//dir2

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

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

cd /dir2 && ls -la
-rw-r--r-- 1 root root 436 Jan 5 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 ten jest powtarzalny i nieefektywny. Możemy edytować plik konfiguracyjny Unison, aby umożliwić automatyczną synchronizację plików.

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

sudo vi ~/.unisono/domyślnie.prf

W pliku dodaj następujące wiersze:

auto=prawda
wsad=prawda

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

Konfigurowanie Unison Cronjob

Pewną rzeczą jest to, że programiści bardzo niechętnie robią rzeczy ręcznie, zwłaszcza gdy można zautomatyzować, co ma miejsce w tym przypadku. Możemy skonfigurować cronjob, aby Unison wykonywał synchronizację automatycznie.

Na serwerze server1 utwórz prosty skrypt bash, aby uruchomić polecenie unisono jako:

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

W pliku zacznij od shebang i dodaj polecenie synchronizacji unisono:

#!/kosz/bash/
unisono /dir1 ssh://192.168.0.201//dir2

Jak zwykle, nadaj skryptowi uprawnienia do wykonywania:

sudo chmod 755 /usr/bin/unisoncron

Teraz edytuj swój plik cronjob za pomocą crontab:

sudo crontab -e

Jeśli po raz pierwszy edytujesz crontab — mam nadzieję, że to nie — wybierz swój edytor i wprowadź następującą linijkę, aby co godzinę synchronizować się z Unisonem:

*/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żyć surowego polecenia w crontab.

Wniosek

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

Chociaż ten krótki przewodnik może pomóc w rozpoczęciu pracy, możesz dowiedzieć się więcej, korzystając ze stron podręcznika Unison (stron podręcznika) lub oficjalnej dokumentacji, korzystając z zasobów podanych poniżej:

Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...
Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...