s3cmd es una utilidad de línea de comandos que he utilizado para hacer backups en un buket s3, ademas de cargar archivos pueden recuperar y administrar datos en el almacenamiento de s3. En esta nota te ayudaré a instalar s3cmd en sistemas CentOS, RHEL, OpenSUSE, Ubuntu, Debian y LinuxMint a través de la línea de comandos en unos sencillos pasos.
Instalar s3cmd en Linux
s3cmd está disponible por defecto en repositorios para sistemas CentOS, RHEL y Ubuntu. Puede instalarlo simplemente ejecutando los siguientes comandos en su sistema.
CentOS / RHEL:
yum install s3cmd
Ubuntu/Debian:
sudo apt install s3cmd
SUSE Linux Enterprise Server 11:
zypper addrepo http://s3tools.org/repo/SLE_11/s3tools.repo zypper install s3cmd
Instale s3cmd usando código fuente:
Si quieres instalar la última versión de s3cmd puede descargar e instalar el código fuente en esta url.
wget https://sourceforge.net/projects/s3tools/files/s3cmd/2.1.0/s3cmd-2.1.0.tar.gz/download tar xzf s3cmd-2.0.1.tar.gz
Ahora instálelo usando el siguiente comando con los archivos fuente que se descargaron anteriormente.
cd s3cmd-2.1.0 sudo python setup.py install
Configurar el entorno s3cmd
Para configurar s3cmd necesitamos un Access Key y Secret Key de su cuenta de AWS s3. Obtenga estas claves de seguridad en la página de AWS IAM.
Después de obtener la clave, use el siguiente comando para configurar s3cmd.
s3cmd --configure Enter new values or accept defaults in brackets with Enter. Refer to user manual for detailed description of all options. Access key and Secret key are your identifiers for Amazon S3 Access Key: xxxxxxxxxxxxxxxxxxxxxx Secret Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Encryption password is used to protect your files from reading by unauthorized persons while in transfer to S3 Encryption password: xxxxxxxxxx Path to GPG program [/usr/bin/gpg]: When using secure HTTPS protocol all communication with Amazon S3 servers is protected from 3rd party eavesdropping. This method is slower than plain HTTP and can't be used if you're behind a proxy Use HTTPS protocol [No]: Yes New settings: Access Key: xxxxxxxxxxxxxxxxxxxxxx Secret Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Encryption password: xxxxxxxxxx Path to GPG program: /usr/bin/gpg Use HTTPS protocol: True HTTP Proxy server name: HTTP Proxy server port: 0 Test access with supplied credentials? [Y/n] Y Please wait, attempting to list all buckets... Success. Your access key and secret key worked fine :-) Now verifying that encryption works... Success. Encryption and decryption worked fine :-) Save settings? [y/N] y Configuration saved to '/root/.s3cfg'
Comandos básicos de s3cmd
A continuación, encontrará los detalles de los comandos sobre cómo administrar un bucket s3 mediante los siguientes comandos.
1. Lista de todos los buckets S3
Utilice el siguiente comando para enumerar todos los buckets s3 de su cuenta de aws.
s3cmd ls
2. Crear un nuevo bucket
Para crear un nuevo bucket s3, use el siguiente comando. Creará un bucket llamado mi-backup en su cuenta s3.
s3cmd mb s3://mi-backup Bucket 's3://mi-backup/' created
3. Subiendo archivo en Bucket
El siguiente comando cargará el archivo file.txt al bucket s3 usando el comando s3cmd.
s3cmd put file.txt s3://mi-backup/ file.txt -> s3://mi-backup/file.txt [1 of 1] 190216 of 190216 100% in 0s 1668.35 kB/s done
4. Subiendo un directorio al bucket s3
Si necesitamos cargar todo un directorio con sub-directorios, use el comando -r para cargarlo recursivamente.
s3cmd put -r backup s3://mi-backup/ backup/file1.txt -> s3://mi-backup/backup/file1.txt [1 of 2] 9984 of 9984 100% in 0s 18.78 kB/s done backup/file2.txt -> s3://mi-backup/backup/file2.txt [2 of 2] 0 of 0 0% in 0s 0.00 B/s done
5. Listar información del bucket s3
Enumera los elementos que contiene el bucket s3 usando el comando ls.
s3cmd ls s3://mi-backup/ 2013-09-03 10:58 DIR s3://mi-backup/backup/ 2013-09-03 10:58 190216 s3://mi-backup/file.txt
6. Descargar archivos del bucket s3
Si necesita descargar archivos del bucket s3, use los siguientes comandos para descargarlos.
s3cmd get s3://mi-backup/file.txt s3://mi-backup/file.txt -> ./file.txt [1 of 1] 4 of 4 100% in 0s 10.84 B/s done
7. Eliminar datos del s3 bucket
Para eliminar archivos y carpetas, utilice los siguientes comandos.
# Remover un archivo del bucket s3 s3cmd del s3://mi-backup/file.txt File s3://mi-backup/file.txt deleted # Remover una carpeta del bucket s3 s3cmd del s3://mi-backup/backup File s3://mi-backup/backup deleted
8. Remover S3 Bucket
Si ya no necesitamos el bucket s3, simplemente podemos eliminarlo usando el siguiente comando. Antes de remover el bucket, asegúrese de que esté vacío.
s3cmd rb s3://mi-backup ERROR: S3 error: 409 (BucketNotEmpty): The bucket you tried to delete is not empty
El comando anterior falló porque el depósito s3 no estaba vacío, primero elimina los elementos dentro del bucket y luego intenta eliminar de nuevo.
Espero esta nota sea de gran utilidad, yo lo utilizo diariamente con el crontab de mi sistema operativo para realizar backups de mis archivos.
Comments