s3cmd

Amazon S3および互換ストレージ(Google Cloud Storage、DreamHost DreamObjectsなど)をコマンドラインから操作するためのツール。2008年公開の老舗で、Python製。AWS公式SDKは使わず、独自にS3向けのリクエストを組み立てて送信する実装になっている。

特徴

60以上のコマンドラインオプションを持つ多機能なツールで、以下のような操作に対応する。

  • バケットの作成・削除
  • オブジェクトのアップロード・ダウンロード・削除
  • マルチパートアップロード
  • サーバーサイド暗号化
  • 増分バックアップ
  • syncによるディレクトリ同期
  • ACL・メタデータ管理
  • バケットサイズ取得、バケットポリシー設定

cronから起動する自動バックアップスクリプトなど、バッチ用途を主眼に設計されている。

弱点

シングルスレッド寄りの実装で、独自のRPCハンドリングであるがゆえにS3 API仕様の追随にも手間がかかる。結果として、後発の並列転送特化ツールs5cmdと比べると転送速度が大きく劣る(ベンチマークではアップロードで32倍、ダウンロードのスループットで数十倍の差が報告されている)。

s3fs-fuseとの関係

s3fs-fuseはS3をFUSE経由でファイルシステムとしてマウントするツールだが、ファイルをS3上にネイティブなオブジェクト形式のまま保存するため、s3cmdのような通常のS3ツールと併用しても同じファイルにアクセスできる。

出典

#s3 #cli #aws

作成日時: 2026-08-16 07:10 / 更新日時: 2026-08-16 07:10