meta data for this page
2022-09-18 Инструментарий синхронизации файлов - Часть 2 - Syncthing
В продолжении выпуска Инструментарий синхронизации файлов - Часть 1 - Resilio Sync настал черед рассказать о программе с открытым исходным кодом для синхронизации файлов. Syncthing написан на языке GO и в отличие от Resilio это полностью открытый продукт, разрабатываемый сообществом без каких либо платных версий, подписок и ограничений.
Позволяет синхронизировать файлы Peer to Peer между несколькими компьютерами. Доступен для большинства операционных систем и встроенн в некоторые дистрибутивы NAS, например XigmaNAS.
Сразу перейдём к сути и составим таблицу сравнения сильных и слабых сторон.
- Открытый исходный код
- Недавно как и у resilio появилась поддержка “опасных” или недоверенных устройств. Данные на которых хранятся в зашифрованном виде. Функция уж работает, но реализация немного сыровата.
- Развитое управление версиями. Syncthing может создавать версии для каждого изменяемого файла и хранить их по типу резервной копии в отдельной папке в первозданном виде.
- В базе грубо говоря нет выборочной синхронизации, но её можно реализовать с использованием списков игнорировнаия. Реализация совершенно не пригодна для повседневного использования, но если необходимо закачать только отдельную часть папки, или только определенные типы файлов вполне рабочая.
- С каждой новой версией программы скорость синхронизации и надежность повышается, но она по-прежнему ниже.
- Невозможно делиться ссылками, файлами или папками с простыми людьми. Отсутствует механизм создания простой ссылки на скачивание клиента и подключение к папке. Если вы хотите поделиться чем-то с другим пользователем то сначала необходимо объяснить что такое Syncthing, как его поставить, зачем это вообще нужно а потом уже дать ID своей машины, после подключения клиента пошарить на него папку и только после этого начнется скачивание.
- Нет механизма ограничения доступа к папке. Тут конечно не совсем нет, для каждой папке можно задать “только раздача”, “только приём” или “туда-сюда”, но если речь идет не о ваших личных пирах, а о например коллегах или друзьях - им доступ к вашим файлам ограничить только на чтение например будет проблематично, потому что “только отдача” устанавливается на папку целиком.
- Я точно не замерял, но похоже syncthing не так филигранно обращается с памятью как rslsync.
- Мой опыт показывает что на NAS системах, основанных на FreeBSD syncthing может привести к OOM 1) ошибке всей системы и выгрузить тем самым дистрибутив из памяти. Поэтому я рекомендую использовать его только из контейнера.
Не смотря на то, что преимуществ немного - все они очень весомые, чтобы отдать предпочтение этой системы вместо проприетарного Resilio Sync. Но мне кажется для каждой программы есть своя ниша и свои пользователи. Я использую syncthing для синхронизации рабочих файлов, когда ненужно ни с кем делиться.