从远程服务器复制到 s3 的文件不显示 s3 存储桶的状态

files copying from remote server to s3 does not show status on s3 bucket

我正在将近 7 TB 的文件和文件夹从我的远程服务器上传到 s3 存储桶,但我在 s3 存储桶上看不到任何文件。我在 s3 上看到的只有几个文件已成功复制。

我有一个 ec2 服务器,我在上面使用这个 link

安装了一个 s3 存储桶

在远程服务器上,我正在使用以下脚本。我还测试了这个脚本,它对小文件运行良好

rsync -uvPz --recursive -e "ssh -i /tmp/key.pem" /eb_bkup/OMCS_USB/* appadmin@10.118.33.124:/tmp/tmp/s3fs-demo/source/backups/eb/ >> /tmp/log.txt &

我正在生成的日志文件显示正在复制文件以及所有相关信息,如传输速度、文件名等。但是在 s3 存储桶上,在复制第一个文件后我看不到任何文件。

每个文件大小从 500MB 到 25GB。

为什么我在 S3 上看不到这些文件?

Amazon S3 是一种对象存储服务,而不是文件系统。我建议您使用 AWS Command-Line Interface (CLI) 复制文件而不是将 S3 挂载为磁盘。

AWS CLI 包含一个非常适合您的目的的 aws s3 sync 命令——它将在两个位置之间同步文件。因此,如果出现故障,您可以 re-run 它不会复制已经复制的文件。

所以我面临的问题是 rsync 在目标 ec2 上复制文件并首先创建一个临时文件,然后将其写入 S3 存储桶。因此多个 rsync 作业是 运行 并且 EC2 服务器上的本地 ebs 卷存储已满。这就是为什么 rsync 无法创建临时文件并保持 copying/writing 在套接字上的原因。