Convencionalmente, se accede a S3 desde un navegador web después de iniciar sesión en su cuenta de AWS. Esto también se puede lograr en la línea de comandos usando una herramienta ingeniosa llamada s3cmd. El s3cmd La utilidad es una herramienta de línea de comandos de código abierto que le permite acceder y administrar su servicio S3. Le permite crear/eliminar depósitos, agregar/remotos archivos y carpetas y enumerar el contenido de sus depósitos S3.
Esta guía buscará ayudarlo a instalar s3cmd en Linux y ayudarlo a aprovecharlo al máximo para administrar su cuenta S3.
Cómo instalar s3cmd en Linux
Instalar s3cmd en las principales distribuciones de Linux como Ubuntu, CentOS y RHEL es un paseo por el parque. Esto se debe a que el paquete s3cmd está disponible en sus repositorios.
Veamos cómo puede instalar s3cmd en varias distribuciones:
Sobre versiones de Ubuntu/Debian
Para distribuciones Debian/Ubuntu use el paquete APT administrar de la siguiente manera:
$ sudo apt install s3cmd
En CentOS 8/RHEL 8
En las distribuciones CentOS/RHEL, instale s3cmd con el siguiente comando:
$ sudo dnf install s3cmd
En SUSE Linux
Para el servidor SUSE Enterprise, comience agregando el repositorio y usando el zypper herramienta de línea de comandos como se muestra.
$ sudo zypper addrepo http://s3tools.org/repo/SLE_11/s3tools.repo
$ zypper install s3cmd
Instalación desde la fuente
Si su distribución de Linux no figura en la lista anterior, no se preocupe. Puede instalar desde la fuente, lo que funcionará en todas las distribuciones.
Primero, descargue el archivo zip de la última versión de s3cmd, que en este momento es s3cmd 2.1.0.
$ wget https://sourceforge.net/projects/s3tools/files/s3cmd/2.1.0/s3cmd-2.1.0.zip
En su directorio de inicio, debería ver el s3cmd-2.1.0.zip archivo zip.
A continuación, descomprima el archivo.
$ unzip s3cmd-2.1.0
Navega a la carpeta sin comprimir
$ cd s3cmd-2.1.0
Y ejecute el comando que se muestra para instalar desde la fuente.
$ sudo python3 setup.py install
Configuración del entorno s3cmd
Antes de comenzar a interactuar con Amazon S3, debemos configurar la herramienta s3cmd proporcionando las credenciales necesarias, como la clave de acceso y el acceso secreto a nuestra cuenta. Por lo tanto, ejecute el siguiente comando para configurar el entorno s3cmd.
$ s3cmd --configure
Proporcione la clave de acceso, el acceso secreto, la región y la contraseña de cifrado como se muestra en la siguiente captura de pantalla.
Asegúrese de utilizar el protocolo HTTPS para mejorar la seguridad.
Lista de cubos s3
Hemos configurado correctamente la herramienta s3cmd y ahora podemos comenzar a interactuar con Amazon S3. Antes de comenzar a interactuar con S3, asegúrese de que el usuario en su AWS se haya configurado con el rol de IAM de Amazon S3.
Para enumerar los cubos S3 existentes en su cuenta, ejecute el comando:
$ s3cmd ls
Hasta ahora, no tenemos ninguno ya que apenas estamos comenzando.
Vamos a crear uno 🙂
Crear un depósito S3
Para crear un nuevo depósito S3, ejecute el comando que se muestra. El siguiente comando crea un depósito en S3 llamado linuxways.
$ s3cmd mb s3://linuxways
Puede dirigirse a su cuenta de AWS y confirmar que el depósito se ha creado como se muestra.
Subir un archivo al depósito S3
Para subir un archivo regular a su depósito, invoque el put opción seguida del archivo y la ruta al depósito S3. El siguiente comando carga el archivo hello.sh a S3.
$ s3cmd put hello.sh s3://linuxways/
Subir un directorio al depósito S3
Para cargar un directorio, use -r indicador para agregar el directorio recursivamente junto con su contenido. Tenga cuidado de no agregar el / inicial ya que esto solo agregará el contenido del directorio y no el directorio en sí.
Aquí, estamos subiendo las Imágenes directorio que contiene un archivo de imagen JPG.
$ s3cmd put -r Pictures s3://linuxways/
Enumerar el contenido del depósito S3
Para ver o mostrar lo que contiene su depósito S3, ejecute el comando.
$ s3cmd ls s3://linuxways/
Eliminar un archivo o directorio de un depósito S3
Si desea eliminar o eliminar un archivo que ya no necesita, use el botón del opción como se muestra.
$ s3cmd del s3://linuxways/hello.sh
Para eliminar un directorio, utilice la misma sintaxis que se indica a continuación. Sin embargo, esto solo funciona si el directorio está vacío.
$ s3cmd del s3://linuxways/Pictures
Si un directorio no está vacío, utilice -r opción para eliminar recursivamente todo su contenido como se muestra.
$ s3cmd del -r s3://linuxways/Pictures/
Eliminar un depósito de S3
Si ya no necesita su cubo, puede eliminarlo de la siguiente manera.
$ s3cmd rb s3://linuxways
Si el depósito aún contiene algunos archivos y carpetas, se encontrará con el siguiente error que le informa que el depósito no está vacío.
La solución es regresar y borrar todos los archivos y directorios en su depósito e intentarlo de nuevo.
Conclusión
Ese fue un resumen de la herramienta de línea de comandos s3cmd y cómo puede usarla para administrar su función de almacenamiento de Amazon S3.