![Можно ли разумно загружать очень большие файлы или по частям через SSH из Linux в Windows?](https://rvso.com/image/23549/%D0%9C%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%BB%D0%B8%20%D1%80%D0%B0%D0%B7%D1%83%D0%BC%D0%BD%D0%BE%20%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B0%D1%82%D1%8C%20%D0%BE%D1%87%D0%B5%D0%BD%D1%8C%20%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%B8%D0%B5%20%D1%84%D0%B0%D0%B9%D0%BB%D1%8B%20%D0%B8%D0%BB%D0%B8%20%D0%BF%D0%BE%20%D1%87%D0%B0%D1%81%D1%82%D1%8F%D0%BC%20%D1%87%D0%B5%D1%80%D0%B5%D0%B7%20SSH%20%D0%B8%D0%B7%20Linux%20%D0%B2%20Windows%3F.png)
У меня есть файл размером ~35 ГБ наудаленныйLinux-сервер Ubuntu. ЛокальноЯ использую Windows XP, поэтому я подключаюсь к удаленному серверу Linux с помощью SSH (в частности, я использую программу Windows под названиемКлиент защищенной оболочки SSHверсия 3.3.2).
Хотя мое широкополосное интернет-соединение довольно хорошее, загрузка большого файла часто прерывается с Connection Lost
сообщением об ошибке. Я не уверен, но думаю, что это происходит из-за того, что мое интернет-соединение, возможно, прерывается на секунду или две каждые несколько часов. Поскольку файл такой большой, его загрузка может занять от 4,5 до 5 часов, и, возможно, интернет-соединение прерывается на секунду или две в течение этого длительного времени. Я думаю, это потому, что я успешно загружал файлы такого размера, используя то же интернет-соединение и то же программное обеспечение SSH на том же компьютере. Другими словами, иногда мне везет, и загрузка завершается до того, как интернет-соединение прерывается на секунду.
Есть ли какой-либо способ загрузить файл интеллектуальным способом, при котором операционная система или программное обеспечение «знают», где остановились, и могут возобновить загрузку с последней точки в случае обрыва интернет-соединения?
Возможно ли загрузить файл по частям? Хотя я не знаю, смогу ли я удобно разбить свой файл на несколько файлов -- я думаю, что это будет очень сложно, так как файл двоичный и нечитаемый человеком.
На данный момент, если загрузка всего файла объемом ~35 ГБ не завершится до разрыва соединения, мне придется начинать загрузку заново и перезаписывать фрагмент объемом ~5–20 ГБ, который был загружен локально.
Есть ли у вас какие-нибудь советы? Спасибо.
решение1
rsync --partial
один простой способ сделать это, если у вас есть rsync
, так как он отлично работает через ssh. Что --partial
делает, так это сохраняет частично загруженный файл, так что вы можете просто продолжить с того места, где вы были прерваны.
решение2
Я ничего не знаю о клиенте SSH, который вы используете, но то, что вы описываете, должно быть возможно с любым клиентом SSH, поддерживающим SFTP.
Если этого нет, возьмите тот, который есть (WinSCPhttp://winscp.net/— бесплатный SSH-клиент для Windows, поддерживающий SFTP), и вы сможете загрузить файл так же, как и с помощью обычного FTP-клиента, т. е. возобновить загрузку с того места, на котором она была прервана, в случае обрыва соединения.
решение3
Если зашифрованные передачи не важны, можно использовать Bittorrent. Используйте открытый трекер, например openbittorrent.com
или Chaos Computer Club's bittorrent.ccc.de
, и просто не делитесь .torrent
файлом ни с кем другим.