Utiliser l'utilitaire de restauration Duplicity


Définition

Duplicity

Duplicity est un logicielle qui fournit une sauvegarde à distance chiffrée.

Duplicity conçoit un schéma où la première archive est une sauvegarde complète (full), et les sauvegardes ultérieures (incrémentielles) ajoutent uniquement des différences par rapport à la dernière sauvegarde complète ou incrémentielle. Les chaînes consistant en une sauvegarde complète et une série de sauvegardes incrémentielles peuvent être récupérées au moment où l'une des étapes incrémentielles a été effectuée. Si l'une des sauvegardes incrémentielles est manquante, les sauvegardes incrémentielles suivantes ne peuvent pas être reconstruites.

Duplicitiy utilise les protocle SFTP et FTP(S) donc il peut fonctionner d'une machine local GNU/Linux ou un serveur VPS vers un serveur VPS ou une formule de sauvegarde LWS Drive "rsyncscpdrive"

 

Procédure

Duplicity

Duplicity est un logicielle qui fournit une sauvegarde à distance chiffrée.

Duplicity conçoit un schéma où la première archive est une sauvegarde complète (full), et les sauvegardes ultérieures (incrémentielles) ajoutent uniquement des différences par rapport à la dernière sauvegarde complète ou incrémentielle. Les chaînes consistant en une sauvegarde complète et une série de sauvegardes incrémentielles peuvent être récupérées au moment où l'une des étapes incrémentielles a été effectuée. Si l'une des sauvegardes incrémentielles est manquante, les sauvegardes incrémentielles suivantes ne peuvent pas être reconstruites.

Duplicitiy utilise les protocle SFTP et FTP(S) donc il peut fonctionner d'une machine local GNU/Linux ou un serveur VPS vers un serveur VPS ou une formule de sauvegarde LWS Drive "rsyncscpdrive"

 

Installer Duplicity

Inclus en tant que package avec la plupart des distributions.

Pour installer Duplicity sur votre machine local ou votre serveur VPS, une simple commande est nécéssaire.

$ apt install duplicity

 

Application

Le script ci dessous effectue des sauvegardes de vos sites web disponibles pour une période de deux mois. Les anciennes sauvegardes sont supprimées. Une nouvelle sauvegarde complète est effectuée le premier jour de chaque mois.

Des sauvegardes séparées pour des répertoires individuels peuvent être créées en utilisant la variable DIRS dans le script.

Par exemple, le script peut être édité et enregistré sous /root/backup.sh:

$ nano /root/backup.sh

Les détails d'accès tels que le nom d'utilisateur, le mot de passe et le nom d'hôte doivent être ajustés en conséquence avant d'être utilisés. De même, la phrase de passe GPG utilisée pour le chiffrement de sauvegarde.

A titre d'exemple, nous utiliserons un utilisateur de la formule de sauvegarde LWS Drive "rsyncscpdrive" sous le nom cdXXXX.

#!/bin/bash
#
# Simple script for creating backups with Duplicity.
# Full backups are made on the 1st day of each month or with the 'full' option.
# Incremental backups are made on any other days.
#
# USAGE: backup.sh [full]
#

# get day of the month
DATE=`date +%d`

# Set protocol (use SFTP or FTP, see manpage for more)
PROTO=sftp

# set user and hostname of backup account
USER='cdXXXXX'
HOST='rs1.cloudlws.com'

# Setting the password for the Backup account that the
# backup files will be transferred to.
# for sftp a public key can be used, see:
PASSWORD='password'

# directories to backup
DIRS="/var/www/monsiteweb.fr/web /home" 
TDIR="files/"$(hostname -s)

# Setting the pass phrase to encrypt the backup files. Will use symmetrical keys in this case.
PASSPHRASE='yoursecretgpgpassphrase'
export PASSPHRASE

##############################

if [ $PASSWORD ]; then
 BAC="$PROTO://$USER:$PASSWORD@$HOST"
else
 BAC="$PROTO://$USER@$HOST"
fi

# Check to see if we're at the first of the month.
# If we are on the 1st day of the month, then run
# a full backup. If not, then run an incremental
# backup.

if [ $DATE = 01 ] || [ "$1" = 'full' ]; then
 TYPE='full'
else
 TYPE='incremental'
fi

for DIR in $DIRS
do
  # first remove everything older than 2 months
  duplicity remove-older-than 2M -v5 --force $BAC/$TDIR/$DIR
  # do a backup
  duplicity $TYPE -v5 $DIR $BAC/$TDIR/$DIR
done

# Check the manpage for all available options for Duplicity.
# Unsetting the confidential variables
unset PASSPHRASE
unset PASSWORD

exit 0

Puis pour le rendre exécutable:

$ chmod 755 /root/backup.sh

Pour effectuer la création d'une sauvegarde complète (full) à l'instant T travers le script backup.sh:

$ /root/backup.sh full

Les fichiers ou répertoires à ne pas sauvegarder sont transmis à Duplicity par --exclude.

Le script peut être exécuter à travers une tâche cron quotidienne, /etc/cron.weekly (hebdomadairement) ou /etc/cron.monthly (mensuel). Un crontab peut également être utilisé pour programmer une heure exacte en configurant un fichier sous /etc/cron.d/:

0 0 * * * /root/backup.sh >/dev/null 2>&1

Avec le suivi de cette documentation, vous êtes ainsi en mesure d'installer et d'utiliser l'utilitaire Duplicity pour effectuer vos restaurations de données. 
Vous pouvez consulter nos différentes offres de sauvegarde en ligne sur notre site de vente

Notez cet article

Vous avez noté 0 étoile(s)

Cet article a été lu 5343 fois.

comments powered by Disqus
Top