Debian

Як використовувати Unison для синхронізації файлів між серверами

Як використовувати Unison для синхронізації файлів між серверами
Цей підручник покаже вам, як налаштувати та використовувати інструмент синхронізації файлів Unison у системах Debian. Використовуючи Unison, ви можете синхронізувати файли між двома різними дисками або каталогами в одній системі або двох інших системах через мережу.

Що таке унісон?

Технологія Unison, розроблена Бенджаміном С Пірсом під ліцензією GPL, дозволяє користувачам синхронізувати два екземпляри окремих файлів в одній системі, але на різних дисках або в двох інших системах.

Unison дозволяє зберігати оновлену і ідентичну версію того самого файлу або каталогу. Він може бути використаний у різноманітних контекстах, таких як SSH, що дозволяє безпечно передавати дані між пристроями або каталогами.

Інструмент Unison є міжплатформеним, що дозволяє користувачам синхронізувати файли та каталоги між системами, що працюють з тією ж або різними операційними системами. Наприклад, ви можете синхронізувати файли із системи Linux із системою BSD. Завдяки своїм функціям безпеки Unison синхронізує файли та каталоги та застосовує права власності та дозволів в обох системах.

Інструмент Unison розроблений з урахуванням безпеки та може пережити збої, коли виникають перебої між точками синхронізації. Якщо Unison виявляє конфлікти файлів і каталогів, він повідомляє про наявні конфлікти і дозволяє користувачам вибрати, яку версію файлів застосовувати.

Unison може працювати з повільними мережами або підтримувати їх, що робить його дуже ефективним інструментом для використання смуги пропускання. Він синхронізує лише частини та каталоги, які змінилися, таким чином запобігаючи великому навантаженню та оновлюючи процес синхронізації дуже легко та швидко.

Незважаючи на основний контекст використання, Unison - це потужний інструмент, який можна модифікувати для створення широкого кола випадків використання.

Цей підручник обговорить, як встановити та налаштувати систему синхронізації файлів Unison на Debian 10.

Як встановити Unison на Debian 10

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

Щоб встановити версію командного рядка Unison на Debian, починайте оновлення системи:

оновлення sudo apt-get && оновлення sudo apt-get

Далі використовуйте просту команду apt, щоб встановити інструмент.

sudo apt-get install unison -y

Якщо у вас в системі встановлено робоче середовище, і ви віддаєте перевагу графічній версії інструменту, встановіть unison-gtk за допомогою команди:

sudo apt-get install 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]-----+

Швидко пропустіть процес генерації ключів та збережіть файл. Будь ласка, не додайте парольну фразу, оскільки це може перешкоджати неспостережуваній синхронізації між серверами.

Далі скопіюйте ключ із сервера1 на сервер2 за допомогою команди:

ssh-copy-id 192.168.0.201

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

Давайте перевіримо використання Unison на обох серверах, створивши каталог, який ми будемо синхронізувати на server1:

mkdir -p / dir1

На сервері2 створіть каталог, як зазначено вище

mkdir -p / dir2

Як уже зазначалося, Unison поважає дозволи користувачів. Тому найкраще змінити дозволи та право власності в обох каталогах, щоб переконатися, що обидва каталоги мають права на читання та запис.

Потім додайте всі дані, які ви хочете синхронізувати між серверами, у папці dir1. Наприклад, додайте кілька ZIP-файлів.

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

Маючи файли, ми хочемо синхронізуватись у потрібному каталозі, запустіть команду unison для синхронізації з сервера як:

unison / dir1 ssh: // 192.168.0.201 // dir2

Під час першого запуску Unison ви отримаєте попередження про те, що процес синхронізації може зайняти деякий час. Якщо у вас є великі файли в каталогах, це може зайняти деякий час, але оскільки ми використовуємо його лише для цілей тестування, це повинно бути відносно швидко.

Натисніть Enter, щоб розпочати процес синхронізації. Після завершення процесу синхронізації перейдіть на server2, перейдіть до dir2 та перелічіть вміст каталогу як:

cd / dir2 && ls -la
-rw-r - r-- 1 кореневий корінь 436 5 січня 12:57 Документи.застібку-блискавку

Змінення конфігурації Unison

У більшості випадків ми не хочемо інтерактивно синхронізувати файли між цими серверами, оскільки процес повторюється та неефективний. Ми можемо відредагувати файл конфігурації Unison, щоб дозволити автоматичну синхронізацію файлів.

Використовуйте команду нижче, щоб відредагувати файл конфігурації за замовчуванням:

sudo vi ~ /.унісон / за замовчуванням.prf

У файл додайте такі рядки:

auto = істина
batch = true

Наведені вище рядки відключають підказки під час синхронізації файлів, що автоматизує процес.

Налаштування Unison Cronjob

Одне впевнене, що програмісти дуже не хочуть робити речі вручну, особливо коли це можливо для автоматизації, що тут має місце. Ми можемо налаштувати cronjob для Unison для автоматичної синхронізації.

У server1 створіть простий скрипт bash для запуску команди unison як:

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

У файлі почніть з шебанга та додайте команду unison sync:

#!/ bin / bash /
unison / dir1 ssh: // 192.168.0.201 // dir2

Як зазвичай, змусьте сценарій виконувати дозволи:

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 (сторінки з інструкціями) або офіційною документацією, використовуючи поданий нижче ресурс:

Підручник Тінь розкрадача гробниць для Linux
Shadow of the Tomb Raider - дванадцяте доповнення до серії Tomb Raider - франшизи екшн-пригодницької гри, створеної Eidos Montreal. Гру сприйняли як к...
Як збільшити FPS в Linux?
FPS означає Кадри в секунду. Завданням FPS є вимірювання частоти кадрів при відтворенні відео або ігрових виставах. Простими словами кількість безпере...
Найкращі лабораторні ігри Oculus App
Якщо ви є власником гарнітури Oculus, то вам потрібно дізнатися про бокове завантаження. Бокове завантаження - це процес встановлення негарнітного вмі...