gsutil rsync についての簡単なメモ

生成したアセットデータなどを配信するためにGCS上にアップロードする時に、gsutilコマンドのrsyncを使うと便利だったので、備忘録としてブログにメモ。

Synopsis

gsutil rsync [-a] [-c] [-C] [-d] [-e] [-n] [-p] [-r] [-U] [-x] src_url dst_url

コマンド説明

gsutil rsyncコマンドは、dst_url下のコンテンツを、src_url下に存在しないファイルやオブジェクトのコピーによって、(-dオプションを指定すると)その他のファイルやオブジェクトを削除することで、コンテンツを同等にする。

src_urlには、ディレクトリかバケットか、バケットのサブディレクトリを指定する必要がある。

使用例

ローカルのdata ディレクトリを、gs://mybucket/dataに同期するには、以下のコマンドを実行する。

gsutil rsync -d data gs://mybucket/data

ディレクトリを再帰的に同期するには、-rオプションを指定する。

gsutil rsync -d -r data gs://mybucket/data

上記のコマンドは、コンテンツの追加・更新のみにとどめている。削除も行いたい場合は-dオプションを指定する。

gsutil rsync -d -r data gs://mybucket/data

大量のファイルを同期する必要があるときは、-mオプションを用いることで、並列に同期を行ってくれる。

gsutil -m rsync -d -r data gs://mybucket/data