如何在命令行将文件从远程服务器移动到s3

时间:2015-12-09 20:49:06

标签: amazon-s3 mount s3cmd sshfs osxfuse

我在远程服务器上有很多大文件,我想将它们移到S3中。我想在命令行或使用bash脚本(例如,我不想使用像cyberduck这样的gui应用程序)这样做,这样我就可以自动化/复制工作。

我尝试使用Osxfuse和sshfs将远程服务器挂载到本地计算机上,然后使用s3cmd将其推送到s3。这确实有效,但我一直遇到错误(连接因没有明显原因而丢失;挂载错误等)。

这是最好的方法吗?有谁知道更好的方法吗?

谢谢, 甲

2 个答案:

答案 0 :(得分:2)

您可以使用minio client aka mc执行相同的操作。

$ mc cp --recursive localDir/  s3/remoteBucket

如果网络断开连接,mc将为您提供恢复上传的选项。

答案 1 :(得分:1)

您的远程服务器是否在ec2中?您当前的设置需要两个副本(首先通过sshfs将数据提取到本地计算机,然后通过s3cmd将数据推送到s3),如果直接在远程服务器上运行s3cmd,则可以将其减少为一个。

如果要将s3作为文件系统挂载,还可以使用goofyss3fs等工具。您应该再次在远程服务器上执行此操作以避免额外的副本。