Мне нужно перенести 200 000 изображений в экземпляр Windows EC2 с очень старой машины Linux. У меня нет большого опыта работы с Linux, поэтому я не пробовал использовать FTP прямо, потому что я не думаю, что у нас есть подходящее программное обеспечение, если это быстрая и простая загрузка, я открыт для решения, но эта вещь очень медленный и раздражающий, особенно для иностранцев Linux. Я пытался перенести изображения на USB-накопитель для загрузки с другого компьютера, но он зависает и останавливается примерно через 1 ГБ. Что бы вы предложили наиболее эффективным способом для достижения этой цели?
3 ответа
Независимо от того, какой метод копирования / передачи вы используете, вы должны сначала упаковать их в архив. Это гарантирует, что произойдут 2 вещи: новый файл, который вы хотите передать, готов к работе (по сравнению со многими файлами, которые могут быть нечитаемыми), а сама передача станет намного более плавной. Небольшие файлы являются болью для любого типа копирования или передачи. Получив большой архивный файл, вы можете использовать любой допустимый метод, включая scp, упомянутый выше.
Здесь нет правильного ответа - в большинстве случаев для передачи файлов не требуется много ресурсов, кроме полосы пропускания, поэтому скорость машины, вероятно, не имеет большого значения.
Ответ зависит от того, какой у вас вариант Linux и как вы подключаетесь между клиентом и сервером. Наиболее очевидное решение - если у вас есть ssh на нем, это использовать rsync - Rsync поставляется с большинством дистрибутивов или тривиально добавляется чем-то вроде «apt-get install rsync» или "yum install rsync". Хорошая часть использования rsync заключается в том, что если загрузка не удалась на полпути, просто запустите команду, и она поймет, где она остановилась.
Если Rsync не является опцией, следующим логическим решением будет использование scp - для этого вы должны использовать «scp -r serverip:/path /destpath». Это будет работать до тех пор, пока на сервере есть ssh.
Если это не помогает, попробуйте использовать wget или ncftp для загрузки через FTP. FTP не очень хороший протокол.
Перечитывая проблему, оказывается, что решение отличается от того, что я предложил изначально. Нам нужно что-то кроссплатформенное, надежно обрабатывающее передачу файлов и абсолютно простое.
битторрентная синхронизация должна работать. Клиент linux представляет собой простой двоичный файл со своим собственным веб-интерфейсом. Установите там общий ресурс, а затем используйте клиент Windows для загрузки каталога.
Поскольку базовый протокол является биторентным, он должен обрабатывать любые проблемы и проверять наличие ошибок довольно изящно, и в значительной степени не требуется никаких настроек, кроме создания общих ресурсов.