Я хочу скопировать несколько больших файлов через нестабильное соединение WAN. Есть ли инструмент, который я могу использовать, который автоматически возобновит работу при кратковременном отключении сети и позволит мне возобновить работу вручную, если мне придется исправить это вручную?
Родные инструменты Windows для этого - xcopy / z и использование BITS. Xcopy / z довольно понятен. Bitsadmin - это то, как вы управляете передачей битов в Windows 2003, однако, если вы можете установить powershell v2, он содержит модули командлетов для передачи битов. Видеть Передача (больших) файлов с помощью BIT. Мой любимый exe-инструмент - XXcopy.
Используйте что-то вроде rar, чтобы создать архив, который можно разбить на куски, скажем, по 100 МБ. Используйте xcopy или robocopy, чтобы скопировать файлы.
robocopy source dest *.rar /w:30 /r:30 /z
будет ждать 30 секунд после разрыва соединения и повторить попытку 30 раз.
Я использовал это, когда мне нужно скопировать файл с несколькими гигабайтами по ссылке, которая не остается достаточно долго, чтобы сделать копию.
FTP-клиент с функцией очереди (с автоповторами). Попробуйте SmartFTP или FileZilla.
curl имеет несколько вариантов повтора (наряду с возможностью указывать бесконечное количество повторов).
rsync не имеет встроенных схем повторных попыток, вы можете обернуть его в сценарий, чтобы выполнять бесконечные повторные попытки, пока он не завершится успешно.
Мой друг предложил использовать KillCopy для этого. Он работает хорошо - его пользовательский интерфейс немного неуклюжий, но это решение с перетаскиванием (при условии, что вы используете место назначения, к которому вы можете получить доступ в проводнике).
Насколько короткие перебои в работе сети?
Если они не длинные, то OpenVPN может быть полезен. Я использую его в разных местах по другим причинам, но при использовании его через медленное ненадежное соединение GPRS в движущемся поезде я обнаружил, что он хорошо справляется с переживанием обычных обрывов соединения и, если отключение было недостаточно продолжительным, чтобы вызвать тайм-ауты, выжили и приложения (в основном веб-браузер), передающие данные по ссылке.
Это в сочетании с клиентом, который поддерживает частичную отправку и повторные попытки, как предлагают другие, может охватывать все основы для вас.
Если вы используете rsync, убедитесь, что у вас установлены параметры, позволяющие повторно использовать частичные передачи, иначе вы можете потратить много пропускной способности, если соединение прерывается непосредственно перед завершением синхронизации большого нового (или сильно измененного) файла.
Предложение может показаться странным, но используйте uTorrent. Инструкции о том, как это сделать, находятся здесь:
http://www.poromenos.org/tutorials/bittorrent
Это здорово с паршивыми связями. Я предполагаю, что вы можете начать загрузку с другой стороны. Если нет, то эта идея не сработает.
Если вы работаете в Windows, вы можете взглянуть на RichCopy «преемник» RoboCopy, упомянутого ранее.
Только копировать файлы не всегда так просто. Что делать, если вы копируете тысячи файлов через медленное соединение? Что произойдет, если ваша сеть «икнет» и прервет копирование? Что, если вы хотите убедиться, что вы сохраняете определенные атрибуты файла, такие как дата последнего изменения, но не другие атрибуты, такие как дескрипторы безопасности? Что, если вы хотите отфильтровать файлы, которые копируете из источника в место назначения, по имени файла или расширению? Если что-то из этого применимо к вам, простая комбинация Ctrl + C / Ctrl + V, вероятно, не поможет. И хотя графический интерфейс Robocopy, безусловно, улучшает эту базовую функциональность, он все еще имеет некоторые ограничения с точки зрения детального управления и удобства использования. Что вам нужно, так это RichCopy.