如何在命令行将文件从远程服务器移动到 s3
Posted
技术标签:
【中文标题】如何在命令行将文件从远程服务器移动到 s3【英文标题】:how to move files from remote server to s3 at the command line 【发布时间】:2015-12-09 20:49:05 【问题描述】:我在远程服务器上有很多大文件,我想将它们移动到 S3 中。我想在命令行或使用 bash 脚本(例如,我不想使用像 cyberduck 这样的 gui 应用程序)来执行此操作,以便我可以自动化/复制工作。
我尝试使用 Osxfuse 和 sshfs 将远程服务器挂载到本地计算机上,然后使用 s3cmd 将其推送到 s3。这确实有效,但我一直遇到错误(无明显原因的连接丢失;安装错误等)。
这是最好的方法吗?有谁知道更好的方法吗?
谢谢, 一个
【问题讨论】:
【参考方案1】:您可以使用minio client aka mc 来做同样的事情。
$ mc cp --recursive localDir/ s3/remoteBucket
如果网络断开,mc 将为您提供恢复上传的选项。
【讨论】:
【参考方案2】:您的远程服务器在 ec2 中吗?您当前的设置需要两个副本(首先通过 sshfs 将数据提取到本地计算机,然后通过 s3cmd 推送到 s3),如果您直接在远程服务器上运行 s3cmd,则可以将其减少到一个。
如果您想将 s3 挂载为文件系统,还可以使用 goofys 或 s3fs 等工具。同样,您应该在远程服务器上执行此操作以避免额外的副本。
【讨论】:
以上是关于如何在命令行将文件从远程服务器移动到 s3的主要内容,如果未能解决你的问题,请参考以下文章
将多个文件从一个目录移动到远程 sftp 服务器上的另一个目录
在不使用 S3 存储桶的情况下将数据从远程服务器的 .gz 文件加载到 redshift 的 postgresql 实例?