Effectuer vos sauvegardes avec Duply
Duply est un frontal pour l’outil Duplicity, il permet d’effectuer des backups incrémental vers des serveurs de type FTP, SFTP, IMAP, Amazon S3, etc …, les sauvegardes peuvent être cryptées.
Création d’un profil
Cette commande crée un profil dans le répertoire /root/.duply/nom_profil/
Paramétrage du profil
Nous allons modifier le profil qui comprendra 3 fichiers de configuration:
- conf: Configuration du profil
- exclude: Fichiers à exclure lors de la sauvegarde
- pre: Tâche à exécuter avant de débuter la sauvegarde
Contenu du fichier conf
TARGET='ftp://ftp.cendreo.com/duply'
TARGET_USER='user'
TARGET_PASS='userpass'
SOURCE='/'
MAX_FULL_BACKUPS=2
Contenu du fichier exclude
/boot
/dev
/lib
/lost+found
/media
/mnt
/opt
/proc
/sbin
/srv
/sys
/tmp
/usr
/var
/data/nobackup
/lib64
/run
Contenu du fichier pre
Le fichier pre est un lien symbolique sur un exécutable que l’on désire exécuter avant de lancer le backup. Nous utilisons ici le script jsl-mysqlbackup.sh qui permet d’effectuer les backups MySQL.
Planification des sauvegardes
avec la commande crontab -e nous allons ajouter les lignes suivantes pour effectuer une sauvegarde incrémentale en semaine et une complète le Samedi.
0 3 * * 6 duply nom_profil pre_full_purge-full_status --force
Vérification des sauvegardes
Start duply v1.5.2.3, time is 2012-09-17 19:38:40.
Using profile '/root/.duply/mon_profil'.
Using installed duplicity version 0.6.08b, gpg 1.4.10 (Home: ~/.gnupg)
Test - Encryption with passphrase (OK)
Test - Decryption with passphrase(OK)
Test - Compare Original w/ Decryption (OK)
Cleanup - Delete '/tmp/duply.18426.1347503520_*'(OK)
--- Start running command STATUS at 19:38:41.055 ---
NcFTP version is 3.2.4
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Sat Sep 15 03:11:08 2012
Collection Status
-----------------
Connecting with backend: FTPBackend
Archive dir: /root/.cache/duplicity/duply_mon_profil
Found 1 secondary backup chain.
Secondary chain 1 of 1:
-------------------------
Chain start time: Sat Sep 8 03:10:59 2012
Chain end time: Fri Sep 14 03:11:06 2012
Number of contained backup sets: 7
Total number of contained volumes: 1904
Type of backup set: Time: Num volumes:
Full Sat Sep 8 03:10:59 2012 1768
Incremental Sun Sep 9 03:10:49 2012 46
Incremental Mon Sep 10 03:12:05 2012 21
Incremental Tue Sep 11 03:11:11 2012 26
Incremental Wed Sep 12 03:11:04 2012 14
Incremental Thu Sep 13 03:11:04 2012 14
Incremental Fri Sep 14 03:11:06 2012 15
-------------------------
Found primary backup chain with matching signature chain:
-------------------------
Chain start time: Sat Sep 15 03:11:08 2012
Chain end time: Mon Sep 17 03:12:16 2012
Number of contained backup sets: 3
Total number of contained volumes: 1866
Type of backup set: Time: Num volumes:
Full Sat Sep 15 03:11:08 2012 1795
Incremental Sun Sep 16 03:11:06 2012 47
Incremental Mon Sep 17 03:12:16 2012 24
-------------------------
No orphaned or incomplete backup sets found.
--- Finished state OK at 19:38:43.006 - Runtime 00:00:01.950 ---
root@w1:~/.duply/mon_profil#
Restauration
duply mon_profil restore /destination_dir
# Restaure le backup effectué il y'a 4 jours
duply mon_profil restore /destination_dir 4D
# Restaure le dernier fichier rep/fichier
duply mon_profil fetch rep/fichier /destination_dir
# Restaure le fichier rep/fichier d'il y'a 4 jours
duply mon_profil fetch rep/fichier /destination_dir 4D
Note 1: Concernant la commande fetch, si vous désirez restaurer un fichier, le fichier de destination doit être également indiqué sinon le répertoire (si il est vide) sera remplacé par le fichier à restaurer.
Note 2: Concernant la commande fetch, dans le cas d’un répertoire, le répertoire de destination doit être vide, sinon la restauration sera interrompu.