In questo tutorial verrà spiegato come effettuare l'installazione di Duplicity,
utility per effettuare backup completi e/o incrementali.
Duplicity effettua il backup delle cartelle comprimendole in un archivio criptato
che può essere salvato su nostro Object-Storage
Una volta effettuato il login nella macchina sarà necessario:
Aggiornare la lista dei pacchetti:
Digitare su console i seguenti comandi per aggiornare il sistema operativo:
Sistema operativo Debian/Ubuntu:
sudo apt-get update
Sistema operativo CentOS/Fedora:
sudo yum update
Installare Duplicity:
Digitare su console i seguenti comandi per installare duplicity:
Sistema operativo Debian/Ubuntu:
sudo apt-get install -y duplicity
Sistema operativo CentOS/Fedora:
sudo yum install -y epel-release duplicity gcc rsync gpg python python-devel python-pip libffi-devel openssl-devel
Installare Swift:
Installa i pacchetti di sviluppo: Sistema operativo Debian/Ubuntu:
sudo apt-get install -y python-keystoneclient python-swiftclient
Sistema operativo CentOS/Fedora:
sudo pip install python-keystoneclient && sudo pip install python-swiftclient
Backup tramite Swift:
Per poter caricare i backup sull' Object Storage, è necessario prima creare delle variabili contenenti i dati di accesso:
export SWIFT_USERNAME= <mail di accesso a ECS>
export SWIFT_TENANTNAME= <mail di accesso a ECS>
export SWIFT_PASSWORD= <password di accesso a ECS>
export SWIFT_AUTHURL=https://api.it-mil1.entercloudsuite.com/v2.0
export SWIFT_AUTHVERSION=2
ATTENZIONE: Queste variabili andranno perdute nel caso si esca dalla sessione della console. Consiglio caricare le veriabili tramite script durante l'avvio del backup, oppure (non consigliato caricarle durante l'avvio del sistema operativo o accesso in console (Vedi la sezione CRON)
Una volta inseriti i dati sopracitati, è possibile effettuare le seguenti operazioni:
duplicity full /var/www/ swift://containertest
duplicity incremental /var/www/ swift://containertest
duplicity full /var/www/ --exclude **/test.php swift://containertest
duplicity swift://containertest/ /var/www/
Cron è un demone di sistema in esecuzione sui sistemi GNU/Linux; esso si occupa di eseguire operazioni pianificate in una data e/o ora prestabilita. Per ulteriori informazioni, consultare il manuale di cron e crontab a questi indirizzi:
http://linux.die.net/man/8/cron
http://linux.die.net/man/1/crontab
1. Realizzare uno script contenente i comandi per Duplicity da eseguire in /usr/local/bin/backup-duplicity.sh come superutente (per creare lo script si può usare un editor come Vi (http://linux.die.net/man/1/vi)):
#!/bin/sh
# Backup Duplicity su FTP server
export SWIFT_USERNAME=<mail di accesso a ECS>
export SWIFT_TENANTNAME=<mail di accesso a ECS>
export SWIFT_PASSWORD=<password di accesso a ECS>
export SWIFT_AUTHURL= https://api.it-mil1.entercloudsuite.com/v2.0
export SWIFT_AUTHVERSION=2
export PASSPHRASE=<password per il backup>
duplicity [full/incremental] <percorso della/e cartella/e> swift ://<nomecontainer>
unset PASSPHRASE
unset SWIFT_USERNAME
unset SWIFT_TENANTNAME
unset SWIFT_PASSWORD
unset SWIFT_AUTH_URL
INFO Per effettuare il backup di un Database consigliamo di effettuare un mysqldump con il seguente comando:
"mysqldump -u ${USERDB} $database > ${BACKUP_STAGINGPATH}/${DUMP}"
e caricare il file successivamente con Duplicity sull'Object Storage. Il comando può essere riportato nello script
2. Rendere eseguibile lo script creato in precedenza:
chmod +x /usr/local/bin/backup-duplicity.sh
3. Aggiungere l'operazione a cron:
sudo crontab -e
Tramite questo comando, il file di configurazione dei jobs di cron verrà aperto tramite l'editor “vi”.
Premere il tasto “i” ed inserire la seguente riga:
0 0 * * * /usr/local/bin/backup-duplicity.sh >> /var/log/duplicity_backup.log
Premere il tasto ESC due volte e digitare “:wq” (senza virgolette) Se appare il seguente messaggio, o simile, avrete la conferma che il l’inserimento sarà andato a buon fine:
crontab: installing new crontab
1) Accedere ad horizon utilizzando il seguente link:https://horizon.entercloudsuite.com
2) Selezionare Object Store e successivamente Containers nel menù laterale a sinistra.
3) Selezionare il Container di Backup per visualizzare i file