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