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.jpg
、2.jpg
、 が含まれる場合3.jpg
、 オプションを使用すると宛先から が--delete
削除されます。3.jpg
コマンドを両方向に実行しているのがわかりますsync
。最初のコマンド (S3 をローカル ディレクトリに同期するコマンド) は、S3 にないローカル ファイルをすべて削除します。
すべてのローカルファイルをS3にコピーし、すべてのS3ファイルをローカルディレクトリにコピーし、ファイルを削除しないことが目的であれば、--delete
オプションを使用しない。