aws s3 sync --delete
いくつかの新しいファイルを削除しました。
例えば:
バケットにファイルがあります-S3://my-bucket/images/1.jpg
次に、ファイルをサーバーにアップロードしました:2.jpg
サーバーには2つのファイルがあります:1.jpg
および2.jpg
Sync cronjobの実行を開始します。
aws s3 sync s3://my-bucket/ ./ --delete
aws s3 sync ./ s3://my-bucket/ --delete
なぜ--delete
-s3のファイルを削除してサーバーに同期させます。
ファイルをサーバーにアップロードし、s3のファイルを削除します。
それを修正する方法はありますか?
デフォルトでは、aws sync
コマンド( ドキュメントを参照 )はファイルを削除しません。新しいファイルまたは変更されたファイルを宛先にコピーするだけです。
--delete
オプションを使用すると、宛先には存在するがソースには存在しないファイルが削除されます。
したがって、ソースに1.jpg
と2.jpg
が含まれ、宛先に1.jpg
、2.jpg
と3.jpg
が含まれる場合、--delete
オプションを使用すると宛先から3.jpg
を削除します。
sync
コマンドを双方向で実行しているようです。最初のコマンド(S3をローカルディレクトリに同期する)は、S3にないローカルファイルをすべて削除します。
ファイルを削除せずに、すべてのローカルファイルをS3に、すべてのS3ファイルをローカルディレクトリにコピーすることが目的である場合、--delete
オプションを使用しないでください。
-deleteソースに存在しないターゲットからファイルまたはオブジェクトを削除するオプション。