Introduzione
Amazon Simple Storage Service (Amazon S3) è un dispositivo di archiviazione di oggetti basato su cloud. È uno storage a basso costo ampiamente utilizzato per il backup o il contenuto statico del sito Web.
Puoi utilizzare l'utilità della riga di comando AWSCLI per gestire il bucket s3 e il relativo contenuto. In questo tutorial imparerai come eseguire il backup di un sito Web nel bucket Amazon s3 utilizzando uno script di shell.
Installare AWS CLI
I pacchetti AWS CLI sono disponibili nei repository predefiniti sulla maggior parte dei sistemi Linux. Puoi installarlo eseguendo uno dei seguenti comandi.
Fedora, Redhat e CentOS:
sudo dnf install awscli
Ubuntu, Debian e Linux Mint:
sudo apt install awscli
Una volta terminata l'installazione, controlla la versione di awscli eseguendo questo comando:
aws --version
Creare uno script di shell
Ora crea un file di script di shell sul tuo sistema e aggiungi il contenuto seguente.
Per questo tutorial, ho creato il file usando l'editor nano:
nano /scripts/s3WebsiteBackup.sh
Aggiungere il seguente contenuto:
#/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
Assicurati di aggiornare S3_BUCKET_NAME
e DIR_TO_BACKUP
nello script. Puoi anche modificare il nome del file di backup nella variabile BACKUP_FILENAME
.
Salva il file e chiudilo. Ora hai uno script di shell per eseguire il backup del contenuto del sito Web nei bucket s3.
Eseguire lo script della shell
Rendi eseguibile lo script della shell eseguendo il comando seguente:
chmod +x /scripts/s3WebsiteBackup.sh
Ora puoi testare lo script eseguendolo manualmente:
bash /scripts/s3WebsiteBackup.sh
In caso di successo, i backup verranno caricati nel bucket s3. Che puoi visualizzare usando questo comando:
aws s3 ls
Pianificare lo script in Cron
Quindi, pianifica il tuo script su crontab per automatizzare questo lavoro. Per modificare il crontab dell'utente corrente, digitare:
crontab -e
Aggiungi la seguente voce al crontab:
0 2 * * * bash /scripts/s3WebsiteBackup.sh
Salva il file e chiudi l'editor.
Conclusione
Questo tutorial fornisce uno script di shell per eseguire il backup del contenuto del sito Web nel bucket S3. Include anche le istruzioni per eseguire questo script.