Як синхронізувати файли за допомогою lsyncd в Linux

Lsyncd: Легка альтернатива Rsync для синхронізації файлів

Lsyncd – це спрощений інструмент для синхронізації, що функціонує подібно до Rsync. Він відстежує зміни у вказаній директорії та копіює їх до іншої, визначеної користувачем локації. Ця програма працює у фоновому режимі як сервіс, що робить її легкодоступною для встановлення на більшості дистрибутивів Linux. Для встановлення Lsyncd на вашій системі Linux, скористайтеся інструкціями для вашої ОС.

Важливо: Переконайтеся, що Lsyncd встановлено на всіх комп’ютерах, між якими плануєте синхронізувати дані.

Встановлення Lsyncd

Ubuntu

sudo apt install lsyncd

Debian

sudo apt-get install lsyncd

Arch Linux

Lsyncd доступний для Arch Linux, але не знаходиться в офіційних репозиторіях. Це означає, що стандартний менеджер пакетів Pacman не підійде для його встановлення. Користувачам Arch, які бажають застосовувати Lsyncd, потрібно буде завантажити, скомпілювати та налаштувати програму з AUR (Arch User Repository).

Для встановлення Lsyncd на Arch Linux:

Крок 1. Встановіть Git та Base-devel за допомогою Pacman. Ці пакети необхідні для роботи з Lsyncd з AUR.

sudo pacman -S git base-devel

Крок 2. Клонуйте репозиторій Lsyncd AUR з офіційного вебсайту.

git clone https://aur.archlinux.org/lsyncd.git

Крок 3. Перейдіть до клонованої директорії “lsyncd”.

cd lsyncd

Крок 4. Скомпілюйте та створіть інсталяційний пакет. Якщо збірка не вдається, перегляньте коментарі на сторінці Lsyncd AUR для отримання підказок.

makepkg -sri

Fedora

sudo pacman -S lsyncd

OpenSUSE

sudo zypper install lsyncd

Встановлення з вихідного коду

Якщо Lsyncd не доступний для вашої версії Linux, можливо, вам доведеться встановити його з вихідного коду. Виконайте наступні дії:

Крок 1. Переконайтеся, що встановлено необхідні залежності:

Cmake
Lua (версія 5.2 або новіша)
Liblua (версія 5.2 або новіша)
GCC Compiler
Lua Compiler
Make
Binutils
Git

Детальнішу інформацію про залежності можна знайти на GitHub.

Крок 2. Клонуйте вихідний код Lsyncd з GitHub.

git clone https://github.com/axkibe/lsyncd.git

Крок 3. Перейдіть до директорії з вихідним кодом.

cd lsyncd

Крок 4. Створіть каталог збірки.

mkdir build

Крок 5. Перейдіть до каталогу збірки.

cd build

Крок 6. Запустіть cmake для підготовки до компіляції.

cmake ..

Крок 7. Завершіть компіляцію за допомогою make.

make

Крок 8. Встановіть Lsyncd за допомогою make install.

sudo make install

Налаштування Lsyncd

Lsyncd працює у фоновому режимі, але його потрібно запустити вручну. Для цього використовуйте команду systemctl:

sudo service lsyncd start

Створіть файл конфігурації Lsyncd:

sudo touch /etc/lsyncd.conf

Або, якщо потрібно, створіть файл у директорії /etc/lsyncd/:

sudo mkdir -p /etc/lsyncd/
sudo touch /etc/lsyncd/lsyncd.conf.lua

Відкрийте файл конфігурації за допомогою текстового редактора Nano:

sudo nano /etc/lsyncd.conf

Або, якщо файл створено в /etc/lsyncd/:

sudo nano /etc/lsyncd/lsyncd.conf.lua

Додайте наступний код до файлу конфігурації:

settings {
logFile = “/var/log/lsyncd/lsyncd.log”,
statusFile = “/var/log/lsyncd/lsyncd.stat”,
statusIntervall = 1,
nodaemon = false
}

Збережіть зміни (Ctrl + O) та закрийте Nano (Ctrl + X).

Налаштування синхронізації

Тепер потрібно налаштувати синхронізацію. Додайте наступний код нижче попереднього в конфігураційний файл. Змініть параметри під ваші потреби:

sync {
default.rsyncssh,
source = “/path/to/source/directory”,
host = “remote-pc-or-server-ip”,
targetdir = “/remote/directory”
}

Збережіть зміни до файлу lsyncd.conf (Ctrl + O).

Запуск синхронізації

Lsyncd налаштовано та готовий до роботи. Перезапустіть службу, щоб активувати синхронізацію:

sudo service restart lsyncd

Після перезапуску Lsyncd почне синхронізацію даних, використовуючи новий конфігураційний файл.