Debian

Как да използвам Unison за синхронизиране на файлове между сървъри

Как да използвам Unison за синхронизиране на файлове между сървъри
Този урок ще ви покаже как да настроите и използвате инструмента за синхронизиране на файлове Unison в системите на Debian. Използвайки Unison, можете да синхронизирате файлове между два различни диска или директории в една и съща система или две други системи по мрежата.

Какво е Unison?

Технологията Unison, разработена от Benjamin C Pierce под лиценза GPL, позволява на потребителите да синхронизират два единични файлови екземпляра в същата система, но различни дискове или две други системи.

Unison ви позволява да поддържате актуализирана и идентична версия на същия файл или директория. Той може да се използва в широк спектър от контексти, като SSH, което позволява сигурен трансфер на данни между устройства или директории.

Инструментът Unison е междуплатформен, позволяващ на потребителите да синхронизират файлове и директории между системи, работещи с една и съща или различни операционни системи. Например можете да синхронизирате файлове от Linux система към BSD система. Поради своите функции за сигурност, Unison синхронизира файлове и директории и прилага права за собственост и разрешения и за двете системи.

Инструментът Unison е разработен с оглед на сигурността и може да преживее неуспехи, когато се случват прекъсвания между точките за синхронизиране. Ако Unison открие конфликти на файлове и директории, той докладва за съществуващите конфликти и позволява на потребителите да изберат коя версия на файловете да се прилага.

Unison може да работи със или поддържа бавни мрежи, което го прави много ефективен инструмент за използване на честотна лента. Той синхронизира само части и директории, които са се променили, като по този начин предотвратява тежко натоварване и актуализира процеса на синхронизиране много лесно и бързо.

Въпреки основния си контекст на използване, Unison е мощен инструмент, който може да бъде модифициран, за да създаде широк спектър от случаи на употреба.

Този урок ще обсъди как да инсталирате и настроите системата за синхронизиране на файлове Unison на Debian 10.

Как да инсталирате Unison на Debian 10

Unison е популярен инструмент; поради това е наличен в официалните хранилища на основните дистрибуции на Linux.

За да инсталирате версията на командния ред на Unison на Debian, започнете да актуализирате системата:

sudo apt-get update && sudo apt-get upgrade

След това използвайте простия apt, за да командвате, за да инсталирате инструмента.

sudo apt-get install unison -y

Ако на вашата система имате инсталирана работна среда и предпочитате GUI версия на инструмента, инсталирайте unison-gtk, като използвате командата:

sudo apt-get инсталирайте unison-gtk

ЗАБЕЛЕЖКА: Уверете се, че сте инсталирали Unison и на двете версии на системите, които искате да синхронизирате файлове между тях. За съвместимост и за минимизиране на шансовете за грешки е по-добре да имате една и съща версия на Unison и в двете системи.

Как да синхронизирам файлове с Unison

Unison ни предоставя начини за синхронизиране на файлове и директории между локални машини и отдалечени машини, използвайки директни сокет връзки и SSH. Тъй като синхронизираме между два сървъра на Debian, ще пропуснем локалната машинна синхронизация.

Unison Remote и Remote Sync чрез SSH

За да синхронизирате файлове и директории между отдалечени машини, ще трябва да имате Unison инсталиран и в двете системи, да имате SSH достъп до двете системи и техните IP адреси.

Можете също да използвате вашата локална машина като един сървър, а отдалеченото устройство като другия сървър.

Първата стъпка е да създадете частен и публичен ключ на отдалечения сървър1.

ssh-keygen -t rsa
Генериране на публична / частна двойка RSA ключове.
Въведете файл, в който да запазите ключа (/ home / csalem /.ssh / id_rsa):
Създадена директория '/ home / csalem /.ssh '.
Въведете парола (празна, без парола):
Въведете отново същата парола:
Вашата идентификация е запазена в / home / csalem /.ssh / id_rsa.
Публичният ви ключ е запазен в / home / csalem /.ssh / id_rsa.кръчма.
Ключовият пръстов отпечатък е:
SHA256: 4p5YuEBEa5lrINzqPgwHRVhSS0TNlIIl70A0q2MFcS8 csalem @ Debian-PC
Случайното художествено изображение на ключа е:
+---[RSA 2048]----+
| + / @ =… |
| = * O == |
| ++ OE . |
| + * o… |
| o + = . S |
|++. o . |
| оо ... о |
|.o . = . |
|… O o |
+----[SHA256]-----+

Бързо прескочете процеса на генериране на ключове и запазете файла. Моля, не добавяйте пропуск, защото това може да попречи на непроменено синхронизиране между сървърите.

След това копирайте ключа от server1 на server2, като използвате командата:

ssh-copy-id 192.168.0.201

След като вече сте настроили SSH и на двете системи, можете да стартирате Unison за синхронизиране на файлове и директории.

Нека тестваме използването на Unison и на двата сървъра, като създадем директорията, която ще синхронизираме на server1:

mkdir -p / dir1

На server2 създайте директория, както по-горе

mkdir -p / dir2

Както споменахме, Unison зачита потребителските разрешения. Поради това е най-добре да промените разрешенията и собствеността в двете директории, за да сте сигурни, че и двете директории имат права за четене и запис.

След това добавете всички данни, които искате да синхронизирате между сървърите в dir1. Например добавете няколко zip файла.

sudo mv ~ / Документи.zip / dir1

Като разполагаме с файловете, искаме да синхронизираме в дясната директория, изпълнете командата unison, за да синхронизирате от сървър като:

unison / dir1 ssh: // 192.168.0.201 // дир2

При първото стартиране на Unison ще получите предупреждение, че процесът на синхронизиране може да отнеме известно време. Ако имате големи файлове в директориите, това може да отнеме известно време, но тъй като ние го използваме само за целите на тестването, трябва да е относително бързо.

Натиснете Enter, за да стартирате процеса на синхронизиране. След като процесът на синхронизиране завърши, отидете на server2, отидете до dir2 и изредете съдържанието на директорията като:

cd / dir2 && ls -la
-rw-r - r-- 1 корен корен 436 5 януари 12:57 Документи.цип

Промяна на конфигурацията на Unison

В повечето случаи не искаме да синхронизираме интерактивно файлове между тези сървъри, тъй като процесът е повтарящ се и неефективен. Можем да редактираме конфигурационния файл Unison, за да разрешим автоматично синхронизиране на файлове.

Използвайте командата по-долу, за да редактирате конфигурационния файл по подразбиране:

sudo vi ~ /.унисон / по подразбиране.prf

Във файла добавете следните редове:

автоматично = вярно
партида = вярно

Горните редове деактивират подканите при синхронизиране на файлове, като автоматизират процеса.

Настройване на Unison Cronjob

Едно сигурно нещо е, че програмистите са много склонни да правят нещата ръчно, особено когато е възможно да се автоматизира, какъвто е случаят тук. Можем да настроим cronjob за Unison да извършва синхронизиране автоматично.

В server1 създайте прост bash скрипт, за да стартирате unison команда като:

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

Във файла започнете с shebang и добавете командата unison sync:

#!/ bin / bash /
unison / dir1 ssh: // 192.168.0.201 // дир2

Както обикновено, накарайте скрипта да изпълнява разрешения:

sudo chmod 755 / usr / bin / unisoncron

Сега редактирайте вашия cronjob файл с crontab:

sudo crontab -e

Ако за първи път редактирате crontab - надявам се, че не е - изберете редактора си и въведете следния ред за синхронизиране с Unison на всеки 1 час:

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

Можете също така да настроите crontab да работи в определени часове от деня. Също така не е необходимо да използвате скрипт и можете да използвате сурова команда в crontab.

Заключение

Този урок ви показа как да инсталирате и настроите Unison на система Debian за синхронизиране на файлове и директории.

Въпреки че това кратко ръководство може да ви помогне да започнете, можете да научите повече, като използвате ръководства на Unison (ръчни страници) или официалната документация, като използвате ресурса, предоставен по-долу:

Битка за Уеснот 1.13.6 Разработка освободена
Битка за Уеснот 1.13.6, издаден миналия месец, е шестата версия за разработка в 1.13.x серия и предоставя редица подобрения, най-вече на потребителски...
Как да инсталирате League Of Legends на Ubuntu 14.04
Ако сте фен на League of Legends, това е възможност за вас да тествате League of Legends. Имайте предвид, че LOL се поддържа на PlayOnLinux, ако сте п...
Инсталирайте най-новата стратегия за игра OpenRA на Ubuntu Linux
OpenRA е Libre / Free Real Time стратегия за игра, която пресъздава ранните игри на Westwood като класическата Command & Conquer: Red Alert. Разпредел...