Win32 программное обеспечение для синхронизации файловой системы с сервером FTP с использованием контрольных сумм?
Простой вопрос заключается в том, как периодически синхронизировать файловую систему Windows с местом назначения FTP, при этом никогда не проверяя место назначения на предмет изменений, если только не произойдет что-то плохое и не полагаясь на размер файла или изменения даты / времени. Слишком много других различий существует при использовании даты / времени для определения изменений (NTS изменяет секунды, летнее время и т. Д.), А размер файла не так надежен из-за факторов блокировки и т. Д.
Первая проблема заключается в том, какое программное обеспечение FTP-сервера поддерживает контрольные суммы или хэши с использованием MD5 (MD5 довольно быстр по сравнению с SHA-1, но все работает).
Вторая проблема заключается в том, какая программа копирования может генерировать хэши из списка каталогов, сохранять их в базе данных, отправлять все, что изменяется или является новым, и никогда не проверять целевой FTP-сервер, если только не происходят странности, возможно, имея утилиту на стороне сервера для создания базы данных. если файлы уже существуют.
4 ответа
Используйте сервер и клиент rsync дополнительно (или вместо) к исходной службе FTP. rsync предназначен для выполнения именно той операции, которую вы описываете. FTP предназначен только для копирования файлов. Да, вы можете вычислить контрольные суммы с помощью команды SITE на FTP, но это всего лишь взлом.
Вы можете использовать этот простой Windows FTP инструмент в командной строке; Проверьте страницу вики для руководства.
http://sourceforge.net/projects/ftpandfilesystemsynchronizer/
До сих пор я никогда не видел FTP-сервер, который предлагал бы команду контрольной суммы (это было бы индивидуально, AFAIK это не часть FTP-rfc), поэтому я думаю, что весь этот подход не будет работать.
Цитата с другого сайта:
Serv-U и RaidenFTPd имеют рабочие реализации XCRC. Из двух я бы порекомендовал Serv-U.