Как переместить файлы с удаленного сервера на s3 из командной строки

У меня есть много больших файлов на удаленном сервере, и я хочу переместить их в S3. Я хочу сделать это в командной строке или с помощью bash-скрипта (например, я НЕ хочу использовать приложение с графическим интерфейсом, например, cyberduck), чтобы я мог автоматизировать / реплицировать усилия.

Я попытался смонтировать свой удаленный сервер на локальном компьютере, используя Osxfuse и sshfs, а затем перенести его на s3 с помощью s3cmd. Это работает, но я продолжаю сталкиваться с ошибками (потеря соединения без видимой причины; ошибки монтирования и т. Д.).

Это лучший способ сделать это? Кто-нибудь знает лучший способ сделать это?

Спасибо

2 ответа

Вы можете использовать клиент Minio, также известный как mc, чтобы сделать то же самое.

$ mc cp --recursive localDir/  s3/remoteBucket

В случае отключения сети mc предоставит вам возможность возобновить загрузку.

Ваш удаленный сервер в ec2? Ваша текущая настройка требует двух копий (сначала для передачи данных на локальный компьютер через sshfs, затем для передачи в s3 через s3cmd), если вы запустите s3cmd на своем удаленном сервере напрямую, вы можете уменьшить его до одной.

Если вы хотите смонтировать s3 как файловую систему, вы также можете использовать такие инструменты, как goofys или s3fs. Опять же, вы должны сделать это на своем удаленном сервере, чтобы избежать лишних копий.

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