Как перенести сжатые данные 35 ГБ с локального на удаленный сервер?

Пожалуйста, предложите мне самый быстрый способ передачи сжатых (с использованием 7zip) данных размером 35 ГБ с моего ноутбука на удаленный сервер. Пожалуйста, отправьте команду, а также. Я использовал SCP, но он ужасно медленный, rsync лучше, но со скоростью примерно 1 МБ / мин, это может занять очень очень много времени. Есть ли лучший способ?

3 ответа

Решение

ftp и http - самые быстрые, ftp быстрее для меньшего числа больших файлов и http быстрее для большего количества маленьких файлов (неудивительно, учитывая природу трафика http).

См. https://stackoverflow.com/questions/9707900/what-is-the-fastest-way-to-transfer-files-over-a-network-ftp-http-rsync-etc

Дополнительные тесты - https://www.disk91.com/2014/technology/networks/compare-performance-of-different-file-transfer-protocol-over-latency/

Примечание. Ваш интернет-провайдер может ограничить скорость загрузки в зависимости от вашего провайдера. Если ваш провайдер вводит ограничение скорости или данных, это может не иметь значения.

Вы также можете использовать другие методы, см. http://moo.nac.uci.edu/~hjm/HOWTO_move_data.html

35 ГБ займет около 25 дней со скоростью 1 МБ / мин (17 КБ / с). Поскольку это займет много времени, я бы сосредоточился на способе, который позволяет вам легко возобновить работу. Насколько я знаю, это исключает scp, и я рассмотрю следующие кандидатуры:

Настроить веб-сервер для обслуживания одного файла довольно просто; стандартная установка Ubuntu может сделать это без какой-либо настройки, если компьютер доступен из Интернета. Просто поместите файл в /var/www/html/ (или ссылку там).

использование wget -c http://example.com/file.tar возобновить загрузку, если прервано. Это работает довольно надежно. Поскольку это разовая вещь, не беспокойтесь о ssl-сертификатах - шифруйте и подписывайте данные, если вы беспокоитесь о безопасности и целостности.

Rsync передается по SSH, поэтому он защищен. Поддерживает плавное продолжение. rsync -P localfile user@example.com:remotefile должен поддерживать резюме и передавать файл без каких-либо забот.

Но 25 дней - это долго. Возможно, вы сможете скопировать диск на USB-накопитель и быстрее отправить его по почте. USB-накопители емкостью 64 ГБ можно приобрести за 20 долларов США. Если вы отправите его по DHL, он доберется почти до 3-4 дней.

Короче говоря - самый быстрый вариант с таким количеством данных и скоростью соединения, которую вы видите, лучший вариант, вероятно, просто поместить его на внешний диск и отправить по почте.

Или пойти куда-нибудь с приличным соединением - 35 ГБ при скорости соединения 100 Мбит / с займет меньше часа.

Для шифрования и подписи файла вы можете использовать gpg. Установите пару ключей, зашифруйте файл и подпишите его. На удаленном конце вы проверяете подпись и расшифровываете ее. Это обеспечивает безопасность и целостность при транспортировке через ненадежный канал, такой как почта или http. Если вы используете rsync, ssh позаботится об этом за вас.

Как заявил Пантера, незашифрованные параметры, такие как FTP или же HTTP будет самым быстрым. Тем не менее, если вы предпочитаете, чтобы информация не была общедоступной в Интернете, я рекомендую использовать зашифрованный метод. Вы можете попробовать что-то вроде создания простой страницы входа в PHP (с помощью оператора if), установить и настроить nginx или же apache для HTTPS, и иметь ссылку для скачивания только вы можете получить доступ. HTTPS должен быть быстрым, поскольку он использует сжатие, и вы можете использовать программу, такую ​​как axel установить этот файл, используя несколько соединений.

Самый простой ответ, предполагая, что ваше интернет-соединение - это узкое место, а не процессор, - использовать SFTP с -C флаг, чтобы включить сжатие, хотя, поскольку вы уже сжали его, количество, которое может быть дополнительно сжато, довольно мало. Самое простое - снова сжать файлы более эффективным способом.

Другие вопросы по тегам