AWS S3 同期 --delete、ローカルの新しいファイルを削除しました 質問する

AWS S3 同期 --delete、ローカルの新しいファイルを削除しました 質問する

aws s3 sync --deleteいくつかの新しいファイルを削除しました。

例えば:

バケット内にファイルがあります -S3://my-bucket/images/1.jpg

次に、サーバーにファイルをアップロードしました。2.jpg

サーバーには2つのファイルがあります1.jpg:2.jpg

同期 cronjob の実行を開始します。

aws s3 sync s3://my-bucket/ ./ --delete
aws s3 sync  ./ s3://my-bucket/ --delete

なぜ追加するのですか--delete? S3 内のファイルを削除して、サーバーに同期したいからです。

ファイルをサーバーにアップロードし、S3 内のファイルを削除します。

修正する方法はありますか?

ベストアンサー1

デフォルトでは、aws syncコマンド(ドキュメントを参照) はファイルを削除しません。新しいファイルまたは変更されたファイルを宛先にコピーするだけです。

この--deleteオプションを使用すると、宛先に存在するがソースには存在しないファイルが削除されます。

したがって、ソースに1.jpgとが含まれ、2.jpg宛先に1.jpg2.jpg、 が含まれる場合3.jpg、 オプションを使用すると宛先から が--delete削除されます。3.jpg

コマンドを両方向に実行しているのがわかりますsync。最初のコマンド (S3 をローカル ディレクトリに同期するコマンド) は、S3 にないローカル ファイルをすべて削除します。

すべてのローカルファイルをS3にコピーし、すべてのS3ファイルをローカルディレクトリにコピーし、ファイルを削除しないことが目的であれば、--deleteオプションを使用しない

おすすめ記事