Duplicity

De EjnTricks
Révision de 27 octobre 2016 à 14:02 par Etienne (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Logo Duplicity.png

Duplicity est un outil en ligne de commande utilisé pour effectuer des backups de fichiers sur un répertoire ou une machine distante. Sous Ubuntu, l'application deja-dup est installée par défaut, proposant une interface graphique simple mais limitée. Cette application n'a pas été utilisée et a été désinstallée. Mais elle peut être utile pour des besoins simples.

L'outil a été utilisé dans les scripts de backups (base de données, SVN, FileSystème) vers une machine distante à l'aide du protocole FTP.

Hand-icon.png Votre avis

Current user rating: 80/100 (3 votes)

 You need to enable JavaScript to vote


title= Option de backup

Tous les exemples présentés effectuent un backup vers un serveur FTP, en cryptant les données. Pour cela, il est nécessaire que deux variables d'environnement soient spécifiées avant l'exécution de la commande duplicity:

Paramètre Description
PASSPHRASE Phrase utilisée pour le cryptage.
FTP_PASSWORD Mot de passe du compte utilisé pour le transfert FTP.

L'instruction export est utilisée pour spécifier ces valeurs. Il est important d'utiliser l'instruction unset ensuite pour les effacer du contexte d'exécution.

#export PASSPHRASE="My Pass Phrase"
#export FTP_PASSWORD=FTP_PASSWORD
#duplicity ...
#unset PASSPHRASE
#unset FTP_PASSWORD

Attention à l'utilisation de l'instruction export, surtout pour la PASSPHRASE. En effet, si celle-ci contient des espaces, il est impératif de la placer entre le caractère ".

Dans tous les exemples, les clés suivantes doivent être remplacées par:

Clé Description
<FTP_USER> Compte utilisé pour se connecter en FTP.
<FTP_SERVER> Nom ou adresse IP du serveur FTP.


Backup d'un répertoire

La commande suivante permet de sauvegarder le répertoire /tmp/toBackup, vers le répertoire backup sur le serveur FTP.

#duplicity /tmp/toBackup ftp://<FTP_USER>@<FTP_SERVER>/backup

A noter, si le répertoire n'existe pas sur le serveur FTP, celui-ci sera créer automatiquement. La première sauvegarde sera une "full", les suivantes seront incrémentales.


Backup full d'un répertoire

L'option full permet de forcer une sauvegarde complète du répertoire /tmp/toBackup, vers le répertoire backup sur le serveur FTP.

#duplicity full /tmp/toBackup ftp://<FTP_USER>@<FTP_SERVER>/backup


Backup full tous les X jours d'un répertoire

L'option --full-if-older-than, nécessitant un interval, permet de forcer une sauvegarde complète du répertoire /tmp/toBackup, si la précédente complète date de plus de 15 jours, vers le répertoire backup sur le serveur FTP.

#duplicity /tmp/toBackup --full-if-older-than 15D ftp://<FTP_USER>@<FTP_SERVER>/backup


Backup multiples répertoires avec racine non commune

Il est parfois nécessaire d'effectuer une sauvegarde de fichiers / répertoires ne se trouvant pas dans la même racine. Par exemple, pour sauvegarder les répertoires /usr/toBackup1 et /tmp/toBackup2, il faut utiliser les paramètres:

Paramètre Description
--include Spécifie les emplacements à inclure
--exclude Permet de tout exclure, sauf emplacement spécifier dans le paramètre --include.
#duplicity --include '/usr/toBackup1' --include '/tmp/toBackup2' --exclude '**' / ftp://<FTP_USER>@<FTP_SERVER>/backup

Les arguments permettent de sauvegarder le répertoire /, soit la racine de la machine, en incluant les répertoires /usr/toBackup1 et /tmp/toBackup2, mais en excluant tous les autres emplacements à l'aide de l'argument --exclude '**'

Delete-file-icon.png Purge

La commande duplicity permet d'effectuer des suppressions dans les sauvegardes réalisées.

Suppression par rapport aux dernières sauvegardes complètes

L'option remove-all-but-n-full, nécessitant un nombre, permet de supprimer toutes les sauvegardes plus anciennes que la Xème complète. L'argument force doit être utilisé pour déclencher la suppression, sinon un listing est uniquement réalisé. La commande suivante permet de ne conserver que deux sauvegardes complêtes, et leur incrémentales, dans le répertoire backup sur le serveur FTP.

#duplicity remove-all-but-n-full 2 --force ftp://<FTP_USER>@<FTP_SERVER>/backup


Viewer icon.png Vérification et listing

Vérification

L'option verify permet de réaliser le contrôle d'une sauvegarde dans un répertoire, sur le serveur FTP par exemple, par rapport au répertoire source, celui qui est sauvegardé. La commande suivante permet de contrôler le contenu du répertoire distant backup avec le répertoire sauvegardé /tmp/toBackup:

#duplicity verify ftp://<FTP_USER>@<FTP_SERVER>/backup /tmp/toBackup

Listing

L'option list-current-files permet de lister le contenu d'une sauvegarde. La commande suivante permet de lister le contenu du répertoire distant backup:

#duplicity list-current-files ftp://<FTP_USER>@<FTP_SERVER>/backup

Une option temporaire peut être combiné afin de spécifier le jour de la sauvegarde interrogée. La commande suivante permet de lister le contenu du répertoire distant backup, il y a 20 jours:

#duplicity -t 20D list-current-files ftp://<FTP_USER>@<FTP_SERVER>/backup


title= Option de restauration

Restauration d'un fichier

Pouvoir sauvegarder les fichiers offre une sécurité importante pour les données, mais il est nécessaire de pouvoir les restaurer. Ceci s'effectue à l'aide de l'option --file-to-restore. La commande suivante permet de restaurer le fichier folder1/folder1.1/file.txt, depuis le répertoire distant backup, vers l'emplacement /tmp/toRestore/file.txt.

#duplicity --file-to-restore folder1/folder1.1/file.txt ftp://<FTP_USER>@<FTP_SERVER>/backup /tmp/toRestore/file.txt

Viewer icon.png Voir aussi

Quelques liens utilisés pour l'étude de Duplicity et la rédaction de l'article:

https://help.ubuntu.com/community/DuplicityBackupHowto

http://www.nongnu.org/duplicity/duplicity.1.html

http://www.nongnu.org/duplicity/index.html