「SimpleStorageService」の略であるS3は、クラウド上でファイルやフォルダーを保存および取得するための安全でスケーラブルで信頼性の高い方法をITチームに提供するAmazonのストレージサービスです。 S3は、データが必要なときに利用可能であり、需要の増加に応じてスケーラブルであることを確認することで、データを最大限に活用するのに役立ちます。
従来、S3には、AWSアカウントにサインインした後にWebブラウザーからアクセスします。これは、s3cmdと呼ばれる気の利いたツールを使用してコマンドラインで実行することもできます。 s3cmdユーティリティは、S3サービスにアクセスして管理できるオープンソースのコマンドラインツールです。バケットの作成/削除、ファイルとフォルダーの追加/削除、S3バケットのコンテンツの一覧表示が可能です。
ここLinuxAPTでは、サーバー管理サービスの一環として、お客様が関連するAmazons3Bucketsクエリを実行するのを定期的に支援しています。
これに関連して、Linuxにs3cmdをインストールする方法を検討し、それを最大限に活用してS3アカウントを管理できるようにします。
コマンドラインからLinuxにs3cmdをインストールするにはどうすればよいですか?
Debian / Ubuntuディストリビューションの場合、次のようにAPTパッケージ管理を使用します。
$ sudo apt install s3cmd
CentOS / RHELディストリビューションでは、以下のコマンドを使用してs3cmdをインストールします。
$ sudo dnf install s3cmd
SUSE Enterpriseサーバーの場合、リポジトリを追加し、以下のzypperコマンドラインツールを使用することから始めます。
$ sudo zypper addrepo http://s3tools.org/repo/SLE_11/s3tools.repo
$ zypper install s3cmd
ソースからs3cmdをインストールする方法は?
Linuxディストリビューションが上記にリストされていない場合でも、心配する必要はありません。すべてのディストリビューションで機能するソースからインストールできます。
私。まず、最新のs3cmdバージョンのzipファイルをダウンロードします。この時点ではs3cmd2.1.0です。
$ wget https://sourceforge.net/projects/s3tools/files/s3cmd/2.1.0/s3cmd-2.1.0.zip
ホームディレクトリに、s3cmd-2.1.0.zipzipファイルが表示されます。
ii。次に、ファイルを解凍します。
$ unzip s3cmd-2.1.0
iii。非圧縮フォルダに移動します
$ cd s3cmd-2.1.0
iv。そして、ソースからインストールするために示されているコマンドを実行します。
$ sudo python3 setup.py install
s3cmd環境を設定する方法は?
Amazon S3とのやり取りを開始する前に、アカウントへのアクセスキーやシークレットアクセスなどの必要なクレデンシャルを提供して、s3cmdツールを設定する必要があります。したがって、以下のコマンドを実行してs3cmd環境を構成します。
$ s3cmd --configure
アクセスキー、シークレットアクセス、リージョン、暗号化パスワードを入力します。
セキュリティを強化するために、必ずHTTPSプロトコルを使用してください。
s3バケットを一覧表示する方法は?
s3cmdツールの設定に成功し、AmazonS3とのやり取りを開始できるようになりました。 S3とのやり取りを開始する前に、AWSのユーザーがAmazonS3IAMロールで設定されていることを確認してください。
アカウントにある既存のS3バケットを一覧表示するには、次のコマンドを実行します。
$ s3cmd ls
これまでのところ、始めたばかりなので何もありません。
次に、作成します。
S3バケットを作成する方法は?
新しいS3バケットを作成するには、示されているコマンドを実行します。以下のコマンドは、linuxaptという名前のバケットをS3に作成します。
$ s3cmd mb s3://linuxapt
AWSアカウントにアクセスして、バケットがそこにあることを確認できます。
S3バケットにファイルをアップロードする方法は?
通常のファイルをバケットにアップロードするには、putオプションを呼び出してから、ファイルとS3バケットへのパスを呼び出します。以下のコマンドは、ファイルhello.shをS3にアップロードします。
$ s3cmd put hello.sh s3://linuxapt/
ディレクトリをS3バケットにアップロードする方法は?
ディレクトリをアップロードするには、-rフラグを使用して、ディレクトリをその内容とともに再帰的に追加します。先頭の/を追加しないように注意してください。これにより、ディレクトリの内容のみが追加され、ディレクトリ自体は追加されません。
ここでは、JPG画像ファイルを含むPicturesディレクトリをアップロードしています。
$ s3cmd put -r Pictures s3://linuxapt/
S3バケットのコンテンツを一覧表示する方法は?
S3バケットに含まれるものを表示または表示するには、コマンドを実行します。
$ s3cmd ls s3://linuxapt/
S3バケットからファイルまたはディレクトリを削除する方法は?
不要になったファイルを削除または削除する場合は、ここに示すようにdelオプションを使用してください。
$ s3cmd del s3://linuxapt/hello.sh
ディレクトリを削除するには、次と同じ構文を使用します。ただし、これはディレクトリが空の場合にのみ機能します。
$ s3cmd del s3://linuxapt/Pictures
ディレクトリが空でない場合は、-rオプションを使用して、図のようにすべての内容を再帰的に削除します。
$ s3cmd del -r s3://linuxapt/Pictures/
S3からバケットを削除する方法は?
バケットが不要になった場合は、次のように削除できます。
$ s3cmd rb s3://linuxapt
バケットにまだいくつかのファイルとフォルダが含まれている場合は、バケットが空ではないことを通知する以下のエラーが発生します。
これで、必要なのは、バケット内のすべてのファイルとディレクトリに戻って削除し、再試行することだけです。