LINUX.ORG.RU

Синхронизация файлов

 ,


0

1

скриншот

Скачать

Сравнение двух каталогов и выдача двух списков, чего не хватает другой стороне. Но это не всё, сравнивать можно не только по умолчанию путь/размер/дата, но и выбрать другое из 6 вариантов, в том числе одинаковость, если у папок превалирует различие и нужно найти совпадение. Особенность - не проверяет хеши, а только указанные (путь/размер/дата), почему так, а чтобы мгновенно выдать список не считывая гигабайты данных, в 99% если файл редактируется, то у него меняется дата, соответственно это и есть критерий синхронизации. Если нажать зелёную кнопку стрелку, то файлы скопируются в противоположный каталог, если нажать красную стрелку вниз, то файлы удалятся. Кнопка папка с нулём показывает пустые папки, чтобы удалить их после очистки каталогов, да и вообще просто удалить пустые папки в любом месте рекурсивно.

Тут часто поднимается тема просмотра различия файлов, поэтому выкладываю.

на форуме purebasic.fr



Последнее исправление: hobbit (всего исправлений: 5)
Ответ на: комментарий от Dimez

linux.org.ru

Бинарь на disk.yandex.ru

Серьёзно?

Всегда исходник в комплекте, скачал проверил, на месте, яндекс не удалил исходник.

Ах да, гитхаб

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

Намного лучше, спасибо.

Минус яндекса в том, что из него не скормить файл тому же wget’у. Ну и бинари программ, выкладываемых на github, выкладываются обычно там же, в релизах.

И не пропускай тэги плз.

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

документации нету. что может, как пользоваться.

Документация в комплекте. Есть ещё онлайн

параметры командной строки Ком-строка принимает 1 или 2 папки, чтобы вставить их в правое и левое поле программы.

Я использую файловый менеджер Nemo, для него в комплекте идёт 2 файла для папки экшен, чтобы в конт.меню появились пункты.

Если в конфиг добавить meld, то пункт меню сравнения отправит оба файла в meld, чтобы сравнить тексты.

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

гитхаб это не тут, тут даже и не сурсфорж и не агрегатор релизов

с таким промахом - здесь скорее промежуточная станция по дороге на @#й

MKuznetsov ★★★★★
()

А чем rsync не устроил?

путь/размер/дата

да

другое из 6 вариантов, в том числе одинаковость

да

не проверяет хеши

да

проверяет хеши

тоже да

пустые папки

опять да

нажать зелёную кнопку стрелку

вот зелёной кнопки нету, это да.

То есть только отсутствием гуя не устроил?

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

Ну тогда можно попробовать написать ему гуи.

А предпросмотр есть? Список чего не хватает другой стороне? Я бывает сравниваю, но обновляю выборочно. То есть ставишь галки что перекинуть.

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

Список чего не хватает другой стороне?

Там есть опция -i (itemize changes), возвращает список файлов с изменениями. Краткий, но информативный код изменений - изменилась дата/размер/права/чексумма (если в опиях есть -c, то проверит)/новая директория и т.п.

То есть ставишь галки что перекинуть.

Если гуй к rsync писать, то возможность передать ему список файлов есть, да.

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

То есть только отсутствием гуя не устроил?

Отсутствие гуя к популярным утилитам на самом деле не устраивает многих

man-from-36
()
Последнее исправление: man-from-36 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Список чего не хватает другой стороне?

Там есть опция -i (itemize changes), возвращает список файлов с изменениями. Краткий, но информативный код изменений - изменилась дата/размер/права/чексумма (если в опиях есть -c, то проверит)/новая директория и т.п.

Там ещё нужен -n, для режима теста, без выполнения операции. Погуглил, уже есть Grsync. И всё это требует теста, так как например --delete (в GUI галочка «удалить на приёмнике») не удаляетфайлы. В логе есть мусор (папки, флаги-причины), хотя если писать GUI самостоятельно, то можно почистить.
Ещё нашёл Unison-gtk.

AZJIO
() автор топика
Последнее исправление: AZJIO (всего исправлений: 1)

ну вы блин даёте (с) генерал из особенностей охоты :)
RCLONE ебстественно швейцарский универсальный нож для облачных хоронилищ файлов !!
рклоун имеет встроенную функциональность сверки локального и удаленного хранилищей rclone check.
а яндекс.диск поддерживает MD5 хеш так, что даже по хешам можно файлики сверять (сколь помню, яндекса не имею)
ну и все виды синхронизации в коробке.
не забудь потом закинуть нику на пиво :)

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

Не для облачного хранилища нужно, а для между флешкой и компом или телефоном и компом. Сейчас тестил FreeFileSync, он как на 13 версии тупил, так и на 14-й тупит при попытке копировать на телефон. Моя прога тоже, либо путь не нравится, либо не может скопировать. Например в файловом менеджере пишет mtp://Xiaomi_POCO_X5_Pro_5G_тыдым_тыдым_бинарный путь/%D0%92%D0%, а при перетащить и бросить в прогу путь становится /run/user/1000/gvfs/mtp:host=Xiaomi_POCO_X5_Pro_5G_тыдым_тыдым/Внутренний общий накопитель/и_тд. Если я копирую путь из файлового менеджера, то прога проверяя существование пути системной функцией пишет что путь неправильный. Перетащенный путь не вызывает проблем, но не копирует. Файловый менеджер копирует нормально файлы на телефон. Вот тут у меня в линукс синхронизация не работает. Скормил пути rsync, ничего не выдал.

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

meld

Для телефона meld также выдаёт:

There was a problem opening the file “mtp://Xiaomi_POCO_X5_Pro_5G_тыдым_тыдым/%D0%92%D0%

И meld проверяет содержимое, то есть 100 Гб он будет именно читать, а не просто сравнит размер и дату.

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

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

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

пути из той же серии. mtp:// это вроде как схема URI. но эту схему умеют пользовать практически никто (амарок и иже с ними ??), поэтому «протокол» монтируют в файловую систему и всем програмкам отдают путь в фс - с файлами в обычной фс уж могут работать все.

предположу по своему компу, у тебя не работает драйвер MTP-протокола вообще и все остальное как следствие…

для синхронизации файлов между компом и телефоном посоветую коммерческий resilio (использую бесплатную лицензию на десять раздач) или некоммерческий брат его syncthing.

ткните меня штоль в какую правильную хауту по MTP…

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

сделан микрософтом и весьма криво

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

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

Речь о MTP я поднял отдельно думая, что это работает на уровне системы и непонятно почему не работает в прогах, а сейчас дошло, что это реализация на уровне фм.

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

Я пользуюсь grsync регулярно, синхронизируя файлы между компом и флешкой и галка «удалить на приёмнике» выполняется - файлы на приёмнике удаляются.

anonymous
()
Ответ на: комментарий от AZJIO

ага и я о том же, поделие микрософт на микрософтовый проткол должно работать идеально. а работает всего лишь сносно… это жжжж не просто так…

да вполне возможно :) то что оттображает на своем интерфейсе менегер зависит лишь от эстетического ощущения дизгнера интерфейса :)
многие дизигнеры хотят избавить пользователя от замудрений FHS и заменить всё красивыми иконками.
мысль правильная но не всегда, так что жели хошь разобраться в работе какой-либо системы, не смотри на граф.интерфейс это просто красота марафетная, а по заветам козьмы пруткова «зри в корень» сиречь смотри что и как происходит начиная с системного лога.

у меня mtp не работает от слова вообще :) а по идее, mtp может работать и напрямую, если прога его поддерживает.
а остальные работают через один из драйверов файловой системы.

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

Конкретно в приложениях, использующих стек gtk, под капотом используются gio + gvfs.

gio - это фреймворк, абстрагирующий интерфейс работы с файлами. Когда ты используешь gio, под капотом могут быть как обычные системные open, read, close, stat и т.п., так и перенаправление в обертку для «виртуальных» файлов.

За конкретную реализацию, куда перенаправляются вызовы, отвечает gvfs. Там находится система плагинов. Один из плагинов - как раз для MTP.

ФМ работает через gio и может обращаться к любым виртуальным ФС, для которых есть плагины в системе. Хоть к MTP, хоть к FTP, хоть к смонтированным архивам.

В принципе, не только ФМ, но любая прога может работать с этими путями через GIO.

Но если в проге такой поддержки нет, то через FUSE ей можно сунуть точку монтирования, которая отобразит виртуальные пути на «настоящие». Получается такой путь: приложение -> open() -> FUSE -> GVFS -> конкретный плагин.

wandrien ★★★
()