LINUX.ORG.RU

Syncthing 2.0

 , , ,


0

2

Вышла мажорная версия 2.0 Syncthing, программы для обмена файлами между двумя и более устройствами.

Основные отличия от предыдущих версий:

  • Переход с LevelDB на SQLite в качестве хранилища данных
  • Изменился формат логов
  • Удалённые данные удаляются навсегда из БД после полугода хранения
  • Новый формат для опций командой строки (опции начинаются теперь с двух дефисов)
  • Каталог по умолчанию не создаётся автоматически при первом запуске
  • Используется несколько сетевых соединений для ускорения синхронизации
  • Больше не создаются бинарные сборки для многих платформ из-за сложностей с автоматической сборкой SQLite (в частности, для windows/arm, openbsd, netbsd)

>>> Полный список изменений



Проверено: maxcom ()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от mx__
  1. Добавил тег «go»
  2. Ссылка идёт именно на тег 2.0.0, не понимаю, почему отображается 2.0.1, никогда не делал ссылки на релизы GitHub.

Но конкретно эта ссылка встречается и в других местах, также, список основных изменений одинаков для 2.0.0 и 2.0.1.

Chiffchaff
() автор топика

На Патриках трется?

Irma ★★★
()

Переход с LevelDB на SQLite в качестве хранилища данных

Больше не создаются бинарные сборки для многих платформ из-за сложностей с автоматической сборкой SQLite

Не было печали, купила баба порося.

bdrbt
()
Ответ на: комментарий от mx__

Я посмотрел, там какое-то почти косметическое отличие. Что-то в спешке забыли перед релизом, на первый взгляд выглядит, что на пользователей повлиять не могло.

Chiffchaff
() автор топика
Ответ на: комментарий от theurs

Я пока ещё не обновился. У меня размер синхронизируемых каталогов - около 13 Мб, размер базы 1.9 Мб. Устройств синхронизируется где-то около 5.

Chiffchaff
() автор топика

Надеюсь, что сетевой протокол остался совместим со старыми версиями. Для 6 андроида новый синктинг фига с два кто мне соберёт.

legolegs ★★★★★
()
Последнее исправление: legolegs (всего исправлений: 1)

Крутая программа, решила для меня проблему с синхронизацией. Теперь во всякие Дропбоксы ни ногой!

MoldAndLimeHoney ★★
()
Ответ на: комментарий от johndoe3

Я ушел с nextcloud на syncthing, мне просто нет смысла держать целый сервис только для синхронизации файлов

Gary ★★★★★
()
Ответ на: комментарий от johndoe3

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

MoldAndLimeHoney ★★
()

Всё еще использую для вытягивания фоток с телефона, т.к. никакой другой интерфейс нихрена не справляется (USB, если вообще заходит в каталог, в скором времени дохнет, любая реализация ftp на телефоне зависает). Один нюанс - после синка и чистки фоток на телефоне нужно начинать новую синхронизацию в новый каталог или бэкапить выкачанные фотки из «зоны чистки», иначе он грохнет на целевом устройстве все фотки, которые были сначала выкачаны, а потом удалены на телефоне. При этом есть галка «не удалять удаленное», но она не работает. Разрабы пишут, что это не баг, а фича, т.к. это не софт для бэкапа, а софт для синхронизации, настройку «не удалять удаленное» обещают в ближайшее время (если еще не) выпилить, но она по моему опыту и так не работает нифига.

У Некстклауда в этом смысле есть специальная фича, которая в один конец штатно вытягивает фотки с телефона на сервер. Внешне выглядит сделанной очень по-уму, там всякие настройки гибкие и так далее. Но на современных объемах (> 100 Гб на телефоне) тормозит и глючит вплоть до неюзабельности, что-то им там нужно править фундаментально в архитектуре. Яндекс, пока им пользовался, с аналогичной задачей на том же устройстве гораздо лучше справлялся. На меньших объемах Некстклауд тянул плюс-минус ок.

bender ★★★★★
()
Ответ на: комментарий от johndoe3

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

sovety_ot_sonika
()
Ответ на: комментарий от bender

Для меня это проблемой не было т.к. все фотки раскладываю в каталоги по событиям. На смарте все подкаталоги внесены в игнор. После переноса фотки в свой подкаталог (на компе), он удаляется из корня на телефоне.

lucky_guy ★★★
()
Последнее исправление: lucky_guy (всего исправлений: 1)
Ответ на: комментарий от ptah_alexs

Не поможет. Установка на телефоне каталога типа «send only» означает что «изменения» с телефона будут только отправляться. Создание фотки это изменение, удаление фотки это тоже изменение. За 10 лет использования лишь однажды применял типы каталогов, почти бесполезная функция.

lucky_guy ★★★
()

Переход с LevelDB на SQLite в качестве хранилища данных

LevelDB вроде как key-value, SQLite rdb

где-то есть развёрнуто, с чего вдруг и главное как ?

MKuznetsov ★★★★★
()
Ответ на: комментарий от lucky_guy

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

gregg128
()

Классная прога. Всё время выручает при перенесении файлов со старого телефона на новый, или вообще на ПК.

Desmond_Hume ★★★★★
()
Ответ на: комментарий от gregg128

Нет. https://docs.syncthing.net/users/foldertypes.html

In send only mode, all changes from other devices in the cluster are ignored.

changes

У человека проблема: после синхронизации фоток с тела на пк, нужно удалить фотки с тела не удаляя с пк. При установки типа каталога в «send only» каталог прекращает принимать какие-либо изменения. Удаляться фотки не будут, но и новые не прилетят.

lucky_guy ★★★
()
Ответ на: комментарий от johndoe3

Syncthing некорректно сравнивать с Nextcloud и прочими. Вот вообще разные задачи решает.

Поэтому у меня есть и Syncthing, и Nextcloud. И оба нужны.

mord0d ★★★★★
()
Ответ на: комментарий от johndoe3

А для чего тогда сабж используют? Для резервного копирования?

Для синхронизации. То есть для того, чтобы иметь две синхронизированные (в идеале — идентичные) директории на двух и более устройствах.

Это не резервная копия, потому что при изменении (в том числе повреждении!) файла на одном устройстве, его состояние синхронизируется на других, и он будет изменён (повреждён) на всех устройствах одновременно.

И это не облако, где есть сервер, с которым синхронизируются все клиенты и на котором "эталонная версия" данных. Все клиенты Syncthing равны (если выбран режим send&receive, который стоит по умолчанию). В противном случае есть раздающие (send only) и принимающие (receive only), но и в такой схеме есть отличия от облачных хранилищ.

mord0d ★★★★★
()
Ответ на: комментарий от johndoe3

Это разные вещи. Лично я использую syncthing чтобы фотки с мобилы все подряд автоматически отправлялись на сервер, а nextcloud — чтобы смотреть через браузер и копировать в постоянное хранилище нужные.

xfilx ★★
()
Ответ на: комментарий от bender

syncthing (mobile) <--> syncthing (linux) dir
syncthing (linux) dir >rsync cron/inotify> full dir

diver
()
Последнее исправление: diver (всего исправлений: 2)
Ответ на: комментарий от MKuznetsov

где-то есть развёрнуто, с чего вдруг и главное как ?

Ссылку уже привели, но судя по дальнейшим обсуждениям:

  • Увеличилась нагрузка на CPU
  • DB слой стал медленнее
  • Потеряли кучу платформ

И это всё потому что SQLite сам создаёт индексы. Вообще непонятно почему просто не поменяли LevelDB на RocksDB, там те же яйца - вид сбоку и производительность лучше.

bdrbt
()
Ответ на: комментарий от mx__

А есть в сабже режим send only?

Есть.

И чем это отличается от облачных хранилищ?

Тем, что у Syncthing нет сервера, все равны, даже если они send only или receive only.

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

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Короче сделал вывод, мне не подходит.

Так как не может тупо пулять файлы на любой удаленный сервер по протоколу того сервера. К примеру веб-дав на раутере.

mx__ ★★★★★
()
Ответ на: комментарий от mx__

Оно как раз про отсутствие сервера.

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

mord0d ★★★★★
()
Ответ на: комментарий от theurs

Новая база весит 800мб…

Улучшили так улучшили…

Походу, мажорный релиз шляпа какая-то.

wandrien ★★★
()
Ответ на: комментарий от bender

FolderSync на телефоне и smb сервер дома. Несколько лет уже такая связка прекрасно работает и бекапит все в телефоне. А содержимое домашнего сервера в свою очередь дополнительно периодически на другой диск резервируется (но это другая история).

as_lan ★★
()
Ответ на: комментарий от bender

Я вот тоже все перепробовал для этой же задачи и тоже остановился на сабже

Но он, как ты справедливо заметил, не совсем для этой задачи

Я думал это я один такой глупый, а тред почитать - нас таких полно) странно что нет специального софта для стягивания фоток, напрашивается же

pihter ★★★★★
()
Ответ на: комментарий от bdrbt

Вообще непонятно почему просто не поменяли LevelDB на RocksDB, там те же яйца - вид сбоку и производительность лучше.

Например потому что запиливший этот пул реквест контрибьютор знал про sqlite (который кстати можно оттранслировать в код на чистом Го - modernc) и не знал про RocksDB.

Это опенсорс, тут никто ничего за тебя не сделает.

Lrrr ★★★★★
()
Ответ на: комментарий от Lrrr

Например потому что запиливший этот пул реквест контрибьютор знал про sqlite

Знать про LevelDB и не знать про RocksDB - околонулевая вероятность.

который кстати можно оттранслировать в код на чистом Го - modernc

Да и на большинстве бенчей он 2x медленней

Ну а go.mod вообще шикарен:

module github.com/syncthing/syncthing

go 1.24.0

require (
	... 
	github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d
	...
	github.com/mattn/go-sqlite3 v1.14.31
	...
	modernc.org/sqlite v1.38.2
)
...
// https://github.com/mattn/go-sqlite3/pull/1338
replace github.com/mattn/go-sqlite3 v1.14.31 => github.com/calmh/go-sqlite3 v1.14.32-0.20250812195006-80712c77b76a

bdrbt
()
Ответ на: комментарий от as_lan

Понятно. А вот не совсем в тему но рядом.

Может кто случайно знает что за кнопка в правом нижнем углу у тотал командера на андроид? Нарисовано 2 папки со стрелками.

mx__ ★★★★★
()
Ответ на: комментарий от bender

USB, если вообще заходит в каталог, в скором времени дохнет, любая реализация ftp на телефоне зависает

Что это за телефон то такой, может его бабушке отдать лучше

James_Holden ★★★★★
()
Ответ на: комментарий от James_Holden

Что это за телефон то такой, может его бабушке отдать лучше

С бабушкой-то так жестоко зачем??..

Somebody ★★★
()

Отказался от syncthing в пользу nextcloud так как там проще с нативными клиентами под все платформы

overmind88 ★★★★★
()
Ответ на: комментарий от bender

У меня 90 гигов в аплоаде фоток в nextcloud. Были глюки, но версия из f-droid всё решает. А плагин memories превращает это всё в подобие гугл фото в вебе

overmind88 ★★★★★
()
Ответ на: комментарий от overmind88

Версия из f-droid, фоток чуть побольше, но примерно столько. Индексирование на телефоне занимает несколько дней, новая фотка - снова ожидания на непредсказуемое время. Приложение в процессе индексирования тормозит и запускается с сильной задержкой (минуты, десятки минут, иногда запускается, непредсказуемо). Когда начинал пользоваться, такого не было, началось с разрастанием базы. Сейчас как основной синк не использую, не обновлялся года полтора-два.

bender ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.