Мне нужно передать несколько файлов-файлов по низкокачественному широкополосному каналу на сервер. Файлы большие, и передача каждого файла занимает около 30 минут.
Я использую scp, но иногда он зависает - передача не завершается с ошибкой, продолжает выполняться, но никакие дальнейшие данные не передаются.
Итак, я ищу "отказоустойчивое" решение для загрузки, которое будет работать, даже если ссылка не работает в течение нескольких минут или по другим причинам ненадежна.
Моя идея:
Вопросы:
Вы можете использовать rsync для копирования файла с одного компьютера на другой. rsync может использовать ssh в качестве основного транспорта. Объединить rsync --partial
со сценарием, например вот этот чтобы повторить попытку в случае сбоя сети, и вы сможете перемещать файлы даже при возникновении сетевых ошибок.
Другой способ сделать это - смонтировать удаленную файловую систему на локальном компьютере с помощью sshfs -o reconnect
, а затем просто скопируйте файл (ы). Об остальном позаботится sshfs / Linux. Судя по некоторым тестам, которые я провел сегодня, это много медленнее, чем rsync.
Наконец, вы можете настроить VPN между двумя машинами. Это требует большей работы, и любое из вышеперечисленных решений намного проще, но оно решит проблему нестабильного сетевого подключения. И, как отметили некоторые люди, это тоже может быть нестабильным. Это жестяная банка работают, если VPN очень агрессивно относится к восстановлению соединений, как OpenVPN, но приведенные выше решения намного лучше.