aws s3 sync --delete
删除了一些新文件。
例如:
桶- S3://my-bucket/images/1.jpg
中有一个文件。
然后,我将一个文件上传到服务器:2.jpg
服务器中有两个文件:1.jpg
和2.jpg
开始运行同步cron作业:
aws s3 sync s3://my-bucket/ ./ --delete
aws s3 sync ./ s3://my-bucket/ --delete
为什么我们要添加--delete
-我们希望删除s3中的文件并将其同步到服务器。
我们将上传文件到服务器并删除s3中的文件。
有办法解决吗?
发布于 2015-06-04 08:39:05
默认情况下,aws sync
命令(见文件)不删除文件。它只需将新的或修改过的文件复制到目标。
使用--delete
选项删除存在于目标中但不在源中的文件。
因此,如果您的源包含:1.jpg
和2.jpg
,而目标包含1.jpg
、2.jpg
和3.jpg
,那么使用--delete
选项将从目标中删除3.jpg
。
我看到您正在两个方向运行sync
命令。您的第一个命令(将S3同步到本地目录)将删除不在S3中的所有本地文件。
如果您的目标是将所有本地文件复制到S3,将所有S3文件复制到本地目录,而不删除任何文件,那么就不会使用选项。
发布于 2018-11-28 11:48:51
--删除选项,以从源中不存在的目标中删除文件或对象。
发布于 2020-08-10 01:40:45
对于新的s3cmd
,您可以使用选项--delete-removed
来删除目标中不存在源的额外文件。
https://stackoverflow.com/questions/30591764
复制相似问题