s5cmd
Amazon S3および互換ストレージに対して並列実行に特化したコマンドラインツール(peak/s5cmd)。Go製。
特徴
- コマンドファイルによる一括実行が最大の特徴。数千件のS3/ファイルシステム操作コマンドを1つのファイルに記述し、複数の並列ワーカーで実行できる。
- Goのgoroutineによる並行処理と、複数のTCPコネクションを同時に張ることで高スループットな転送を実現する。
- s3cmdやaws-cliと比べて桁違いに高速。ベンチマークでは、アップロードでs3cmd比32倍・aws-cli比12倍高速、ダウンロードでは40Gbpsリンク(約4.3GB/s)を飽和させられるとされるのに対し、s3cmdは85MB/s程度、aws-cliは375MB/s程度に留まるという結果が報告されている。
弱点
高速性と引き換えに機能面はs3cmdより薄い。バケットの作成・削除、マルチパートアップロードの中断、オブジェクトへのHEADリクエストといった一部の操作は欠けている。
使いどころ
大規模なバックアップ・データ移行・大量オブジェクトの一括同期や削除など、転送量が多くスループットがボトルネックになる場面で有効。バケット管理やポリシー設定など多機能なCLI操作が必要な場面はs3cmdの方が向く。
rcloneとの関係
rcloneも同期・並列転送に対応するが、s5cmdがS3専用で並列スループットに特化しているのに対し、rcloneは70以上の異なるクラウドストレージバックエンドを横断的に扱える汎用ツールという違いがある。