Вопрос: Программное обеспечение FTP, которое проверяет разницу данных?


Я ищу FTP-программу (бесплатную, если это возможно), которая может находить различия между клиентом и сервером, поэтому она не должна загружать 50 gb каждый раз, когда я беру файлы.

Я не могу использовать svn так как этот аппарат не в моей сети.


0
2017-11-10 11:23


Источник


Если у вас есть root-доступ к машине, вы можете просто выполнить svn update, Поскольку вы ищете решение для FTP, я полагаю, что это не так. - Paul Lammertsma
Чтобы немного расширить значение @Paul: фраза «каждый раз, когда я делаю файлы», заставляет нас думать, что вам действительно понадобятся некоторые инструменты для развертывания конкретной версии (или только последней ...) на производственной машине, а не копирования некоторых локальных версия для этой машины? (Я бы сказал что-то вроде svn export вместо svn update, и нет необходимости в корневом доступе.) - Arjan
@Eran, после входа в Суперпользователя, обязательно присоедините свои учетные записи в stackoverflow.com/users/205477?tab=accounts - и не забудьте прочитать часто задаваемые вопросы. Благодаря! - Arjan
(Вы можете использовать svn если вы можете подключиться через SSH, настроив какой-то туннель.) - Arjan


Ответы:


Как насчет использования Rsync?


6
2017-11-10 11:27



Я использую gadmin-rsync на Ubuntu. - djangofan
сервер не поддерживает его! - styks


Если вы хотите использовать настольное приложение, FileZilla это хороший выбор, но если вы хотите что-то, Rsync вероятно, лучше. В каком контексте вы собираетесь это использовать?


3
2017-11-10 11:27





FileZilla сделает работу


1
2017-11-10 11:24





sitecopy возможно подходит. Rsync также предназначен для этой цели.


0
2017-11-10 11:28





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


0
2017-11-10 11:36





"Синхронизация файлов по FTP»здесь, в Super User упоминает wput а также ncftp/ncftpput,


0
2017-11-10 14:10





Я написал приложение-утилиту, которое сделало это: вычислить хэш SHA256 каждого файла, который будет загружен. Создайте текстовый файл с этими хэшами и именами файлов - индексный файл. Загрузите файл индекса на сервере. Если его нет, то предположим, что все файлы необходимо обновить. Если он присутствует, то для каждого загружаемого файла:

  • проверить хэш в загруженном текстовом файле
  • если хеш отсутствует, загрузите
  • если хеш присутствует и не соответствует хешу текущего (локального) файла, затем загрузите
  • если хеш присутствует и соответствует, пропустите файл.

После завершения загрузки файлов загрузите новый индексный файл.

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


0
2017-11-10 14:26



... но как использовать такой файл индекса, чтобы найти изменения, сделанные для удаленных файлов (или даже удаления) каким-либо другим процессом или пользователем? - Arjan
очевидно, это не так. Если кто-то другой изменит файл, не обновляя индексный файл, система перестанет работать. - Cheeso
Будем надеяться, что вы не будете поддерживать некоторую электростанцию. ;-) - Arjan