7

То, что я пытаюсь сделать, это зеркалировать каталог (рекурсивно) от сервера, к которому я могу подключиться по SSH/SFTP, к машине с Windows. Я хочу сделать это как часть сценария, чтобы он мог быть автоматизирован.

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

Другими словами, я пытаюсь получить эквивалент RoboCopy /MIR который будет работать с использованием SFTP в качестве источника.

Чтобы вы посоветовали?

4 ответа4

8

WinSCP может синхронизировать каталоги используя /synchronize или со скриптом.

1

Смонтируйте свой SFTP-сервер как диск, используя SFTPNetDrive, затем выполните обычную робокопию (возможно, с /Z).

0

Хотя я должен признать, что не проверял в контексте соединения SFTP, я бы предложил FreeFileSync: https://www.freefilesync.org/manual.php?topic=synchronize-with-sftp

Не настоящий сценарий, а программное обеспечение с графическим интерфейсом. Он очень хорошо спроектирован, прост в использовании и работает во многих операционных системах.

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

Желательно устанавливать программное обеспечение из командной строки как администратор с параметром /NOCANDY чтобы избежать рекламы. Кроме того, версия для пожертвований также не содержит рекламы: https://www.freefilesync.org/faq.php#donation-edition

Существует второе программное обеспечение, которое называется RealTimeSync, если вы хотите автоматически синхронизировать папки.

0

Если вы хотите получить только файлы, которые изменились, я бы порекомендовал rsync (под cygwin).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .