Cómo hacer una copia de seguridad en Amazon S3 con Shell Script

23 mar 2022 2 min di lettura
Cómo hacer una copia de seguridad en Amazon S3 con Shell Script
Tabla de contenidos

Introducción

Amazon Simple Storage Service (Amazon S3) es un dispositivo de almacenamiento de objetos basado en la nube. Es un almacenamiento de bajo costo que se usa ampliamente para copias de seguridad o contenido de sitios web estáticos.

Puede utilizar la utilidad de línea de comandos de AWSCLI para administrar el depósito s3 y su contenido. En este tutorial, aprenderá a realizar una copia de seguridad de un sitio web en el depósito de Amazon s3 mediante un script de shell.

Instale la CLI de AWS

Los paquetes de AWS CLI están disponibles en repositorios predeterminados en la mayoría de los sistemas Linux. Puede instalarlo ejecutando uno de los siguientes comandos.

Fedora, Redhat y CentOS:

sudo dnf install awscli

Ubuntu, Debian y Linux Mint:

sudo apt install awscli 

Una vez finalizada la instalación, verifique la versión de awscli ejecutando este comando:

aws --version 

Crear un script de shell

Ahora cree un archivo de script de shell en su sistema y agregue el siguiente contenido.

Para este tutorial, creé el archivo usando el editor nano:

nano /scripts/s3WebsiteBackup.sh  

Agrega el siguiente contenido:

#/usr/bin/env bash
 
########################################################
##
## Shell script to archive website code and upload
## to S3 bucket.
##
##
########################################################
 
 
S3_BUCKET_NAME=""
DIR_TO_BACKUP="/var/www/html"
BACKUP_FILENAME='website'
 
TODAY=`date +%Y%m%d`
YY=`date +%Y`
MM=`date +%m`
AWSCMD="/usr/local/bin/aws"
TARCMD="/usr/bin/tar"
 
${TARCMD} czf /tmp/${BACKUP_FILENAME}-${TODAY}.tar.gz
 
${AWSCMD} cp /tmp/${BACKUP_FILENAME}-${TODAY}.tar.gz s3://${S3_BUCKET_NAME}/${YY}/${MM}/
 
 
if [ $? -eq 0 ]; then
 echo "Backup successfully uploaded to s3 bucket"
else
    echo "Error in s3 backup"
fi

Asegúrese de actualizar S3_BUCKET_NAMEy DIR_TO_BACKUPen el script. También puede cambiar el nombre del archivo de copia de seguridad en la variable BACKUP_FILENAME.

Guarde el archivo y ciérrelo. Ahora tiene un script de shell para hacer una copia de seguridad del contenido del sitio web en depósitos s3.

Ejecute el script de shell

Haga que el script de shell sea ejecutable ejecutando el siguiente comando:

chmod +x /scripts/s3WebsiteBackup.sh 

Ahora puede probar el script ejecutándolo manualmente:

bash /scripts/s3WebsiteBackup.sh 

Si tiene éxito, las copias de seguridad se cargarán en el depósito s3. Que puedes ver usando este comando:

aws s3 ls

Programar el script en Cron

Luego, programe su secuencia de comandos en crontab para automatizar este trabajo. Para cambiar el crontab del usuario actual, escriba:

crontab -e 

Agregue la siguiente entrada al crontab:

0 2 * * * bash /scripts/s3WebsiteBackup.sh 

Guarde el archivo y cierre el editor.

Conclusión

Este tutorial proporciona un script de shell para hacer una copia de seguridad del contenido del sitio web en el depósito de S3. También incluye instrucciones para ejecutar este script.

Buy me a coffeeBuy me a coffee

Apóyenos si le gusta nuestro contenido. Gracias.

Únase a la conversación

Genial! A continuación, complete el pago para obtener acceso completo a Noviello.it.
Bienvenido de nuevo! Has iniciado sesión correctamente.
Te has suscrito correctamente a Noviello.it.
Éxito! Su cuenta está completamente activada, ahora tiene acceso a todo el contenido.
Éxito! Su información de facturación ha sido actualizada.
Su facturación no se actualizó.