Как установить и использовать Syncthing в Ubuntu 20.04 | Ubuntu 18.08

Как установить и использовать Syncthing в Ubuntu 20.04 | Ubuntu 18.08

 

Syncthing — это бесплатная программа с открытым исходным кодом для синхронизации файлов между устройствами из локальной сети или удаленными устройствами через Интернет. Он использует одноранговую архитектуру и непрерывную синхронизацию файлов, обменивается данными напрямую между устройствами в полностью автоматическом режиме.

Синхронизация может использоваться для синхронизации файлов и каталогов в режиме реального времени. Вся передача данных между несколькими устройствами безопасна и зашифрована с помощью TLS.

Ключевые особенности Syncthing:

  • Поддержка аутентификации LDAP.
  • поддержка односторонней синхронизации.
  • Быстрая скорость синхронизации.
  • Используйте как CLI, так и GUI
  • Кроссплатформенность доступна на: Linux, Android, Unix, Solaris, Windows и Mac OS X.

В этом руководстве мы узнаем, как установить Syncthing в Ubuntu 20.04 .

Предпосылки

  • Два сервера с установленной Ubuntu 20.04.
  • Пользователь с доступом sudo и root.
  • Два настроенных общедоступных IP-адреса.

Установите Syncthing в Ubuntu

Syncthing доступен в официальном репозитории. Следуя инструкциям по установке, добавьте репозиторий Syncthing и установите его в Ubuntu.

Сначала обновите системные пакеты с помощью следующей команды:

apt update

Установите все зависимости с помощью следующей команды:

apt-get install gnupg2 curl apt-transport-https

Добавьте и загрузите ключ выпуска:

curl -s https://syncthing.net/release-key.txt | apt-key add -

Добавьте репозиторий Syncthing в APT с помощью следующей команды:

echo "deb https://apt.syncthing.net/ syncthing release" > /etc/apt/sources.list.d/syncthing.list

После этого обновите системные пакеты еще раз и установите пакет Syncthing :

apt-get update
apt-get install syncthing

Проверьте установку, проверив версию Syncthing:

syncthing --version

Вывод:

syncthing v1.18.1 "Fermium Flea" (go1.16.6 linux-amd64) deb@build.syncthing.net 2021-07-30 12:41:57 UTC [noupgrade]

Если вы получили аналогичный результат, значит, Syncthing успешно установлен.

ПРИМЕЧАНИЕ. Вам нужно будет повторить эти же действия по установке на другом сервере.

Создайте файл модуля Systemd

Следующим шагом является создание файла модуля systemd для управления службой Syncthing.

Создайте файл в /etc/systemd/system/ с помощью следующей команды.

nano /etc/systemd/system/syncthing@.service

Добавьте в файл конфигурации следующие строки:

[Unit] Description=Syncthing - Open Source Continuous File Synchronization for %I Documentation=man:syncthing(1) After=network.target [Service] User=%i ExecStart=/usr/bin/syncthing -no-browser -gui-address="0.0.0.0:8384" -no-restart -logflags=0 Restart=on-failure SuccessExitStatus=3 4 RestartForceExitStatus=3 4 [Install] WantedBy=multi-user.target

В части [Служба] в строке -gui-address="0.0.0.0:8384"добавьте свой публичный IP-адрес первого сервера и оставьте тот же порт 8384.

Сохраните конфигурацию и закройте файл.

Теперь перезагрузите демон systemd, чтобы применить конфигурацию:

systemctl daemon-reload

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

systemctl start syncthing@yourUser

Проверьте статус службы Syncthing:

systemctl status syncthing@yourUser

Сервис должен быть активен (запущен).

Служба синхронизации прослушивает порт 8384, вы можете проверить это с помощью команды ss .

ss -antpl | grep 8384

Вывод:

LISTEN    0         4096          45.79.208.51:8384             0.0.0.0:*        users:(("syncthing",pid=13837,fd=20)) 

ПРИМЕЧАНИЕ. Повторите эти же действия для другого сервера.

Настройка Syncthing Web Interface

Откройте свой веб-браузер и получите доступ к веб-интерфейсу Syncthing с URL-адресами.

http://first-server-ip:8384
http://second-server-ip:8384

Syncthing Web Interface использует порт 8384.

После входа в систему вы должны получить следующие сообщения.

Как установить и использовать Syncthing в Ubuntu 20.04

Затем перейдите в Действия> Настройки> Графический интерфейс, чтобы настроить имя пользователя и пароль, и включите опцию «Использовать HTTPS для графического интерфейса».

Как установить и использовать Syncthing в Ubuntu 20.04

Нажмите кнопку «Сохранить», и вы будете перенаправлены на страницу входа в систему Syncthing, где вам будет предложено ввести новые учетные данные для входа.

После входа в систему, как вы видите, соединение теперь защищено HTTPS.

Как установить и использовать Syncthing в Ubuntu 20.04

ПРИМЕЧАНИЕ. Повторите и настройте этот процесс также на втором сервере.

Подключение устройств

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

Для этого перейдите в Действия> Показать ID на обоих серверах. Вы увидите следующий идентификатор устройства и QR-код.

Как установить и использовать Syncthing в Ubuntu 20.04

Теперь перейдите к первому серверу Syncthing. Внизу, где находится раздел для удаленных устройств, нажмите кнопку + Добавить удаленное устройство.

Как установить и использовать Syncthing в Ubuntu 20.04

Укажите идентификатор устройства вашего второго сервера и нажмите кнопку «Сохранить». Необязательно, также можно добавить имя устройства для более четкого обзора.

На втором сервере повторите тот же шаг. Перейдите в Добавить удаленное устройство.

Как установить и использовать Syncthing в Ubuntu 20.04

И добавьте идентификатор устройства с первого сервера и нажмите кнопку « Сохранить» .

Как установить и использовать Syncthing в Ubuntu 20.04

Укажите имя вашей резервной папки в метке папки в разделе «Общие». Затем перейдите в раздел «Совместное использование карты», и вы увидите следующий экран.

Как установить и использовать Syncthing в Ubuntu 20.04

Уилл с обеих сторон видит, что устройства подключены.

Синхронизировать каталоги

После успешного пиринга удаленных устройств найдите раздел Папки и нажмите кнопку + Добавить папку. Вы должны увидеть новое следующее окно.

Как установить и использовать Syncthing в Ubuntu 20.04

Укажите имя вашей резервной папки в метке папки в разделе «Общие». Затем перейдите в раздел «Совместное использование карты», и вы увидите следующий экран.

Как установить и использовать Syncthing в Ubuntu 20.04

Отметьте свое устройство, чтобы поделиться этой папкой. В моем случае имя — server2 , и нажмите кнопку « Сохранить» .

Теперь перейдите на второй сервер и нажмите кнопку Rescan All. Вы должны увидеть следующий экран и новое всплывающее сообщение, чтобы добавить эту новую папку.

Как установить и использовать Syncthing в Ubuntu 20.04

Нажмите кнопку «Добавить», чтобы добавить папку резервного копирования, доступную на первом сервере. Теперь вы должны увидеть следующий экран.

Как установить и использовать Syncthing в Ubuntu 20.04

Теперь можно увидеть, что резервное копирование папок синхронизировано и обновлено.

Каждый раз, когда вы создаете или изменяете какие-либо файлы в папке резервного копирования на первом сервере, они будут автоматически синхронизироваться со вторым сервером, все новые каталоги и файлы в этой папке резервного копирования будут зеркалироваться на другом сервере.

Настройка папок только для отправки и только для получения

Еще одна замечательная функция Syncthing заключается в том, что вы можете настроить парные серверы для отправки и получения, а также их можно указать только для отправки и только для приема.

Перейдите в раздел «Папки»> «Выбрать желаемую папку для резервного копирования» и нажмите кнопку «Изменить», а затем перейдите в раздел «Дополнительно». Вы увидите следующее изображение.

Как установить и использовать Syncthing в Ubuntu 20.04

И выберите «Тип папки» для «Только отправка» / «Только получение» и нажмите кнопку «Сохранить».

Настроить точные интервалы сканирования

Если вы хотите освободить процессор и вам не нужно постоянно следить за изменениями синхронизации, вы можете отключить отслеживание изменений и вручную настроить, сколько минут и часов вы хотите синхронизировать изменения.

Как установить и использовать Syncthing в Ubuntu 20.04

Проверка службы systemctl

Перейдите к желаемому устройству на server1 или server2 и проверьте статус службы systemctl, чтобы увидеть, как это работает на бэкэнде, с помощью следующей команды.

sudo systemctl status syncthing@yourUser

Вывод.

● syncthing@infoit.service - Syncthing - Open Source Continuous File Synchronization for infoit
      Loaded: loaded (/etc/systemd/system/syncthing@.service; disabled; vendor preset: enabled)
      Active: active (running) since Wed 2021-08-25 13:46:53 UTC; 1h 4min ago
        Docs: man:syncthing(1)
    Main PID: 15543 (syncthing)
       Tasks: 13 (limit: 1071)
      Memory: 29.2M
      CGroup: /system.slice/system-syncthing.slice/syncthing@infoit.service
              ├─15543 /usr/bin/syncthing -no-browser -gui-address=45.79.208.51:8384 -no-restart -logflags=0
              └─15548 /usr/bin/syncthing -no-browser -gui-address=45.79.208.51:8384 -no-restart -logflags=0
 Aug 25 13:52:58 li1307-51 syncthing[15543]: [6TZM3] INFO: Device BPENPLJ-L65BS5D-5HN7UL5-RNI3DQR-YZOR2LB-YFW7BKF-6LMWFXV-A4E3RQY client is "syncthing v1.18.1>
 Aug 25 13:52:58 li1307-51 syncthing[15543]: [6TZM3] INFO: Connection to BPENPLJ-L65BS5D-5HN7UL5-RNI3DQR-YZOR2LB-YFW7BKF-6LMWFXV-A4E3RQY at [2600:3c02::f03c:9>
 Aug 25 13:53:12 li1307-51 syncthing[15543]: [6TZM3] INFO: Established secure connection to BPENPLJ-L65BS5D-5HN7UL5-RNI3DQR-YZOR2LB-YFW7BKF-6LMWFXV-A4E3RQY at>
 Aug 25 13:53:12 li1307-51 syncthing[15543]: [6TZM3] INFO: Device BPENPLJ-L65BS5D-5HN7UL5-RNI3DQR-YZOR2LB-YFW7BKF-6LMWFXV-A4E3RQY client is "syncthing v1.18.1>
 Aug 25 14:13:42 li1307-51 syncthing[15543]: [6TZM3] INFO: Adding folder "Backup" (svkz5-mdnbo)
 Aug 25 14:13:42 li1307-51 syncthing[15543]: [6TZM3] INFO: No stored folder metadata for "svkz5-mdnbo"; recalculating
 Aug 25 14:13:42 li1307-51 syncthing[15543]: [6TZM3] INFO: Ready to synchronize "Backup" (svkz5-mdnbo) (sendreceive)
 Aug 25 14:13:42 li1307-51 syncthing[15543]: [6TZM3] INFO: Completed initial scan of sendreceive folder "Backup" (svkz5-mdnbo)

Заключение

В этом руководстве мы узнали, как установить Syncthing для синхронизации каталогов в Ubuntu 20.04. Вы можете использовать и синхронизировать более двух устройств и быть в курсе всех каталогов на всех машинах.

Пожалуйста, поделитесь своим опытом использования Syncthing в разделе комментариев.