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
duply nom_profil create
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
GPG_PW='clef_a_definir' TARGET='ftp://ftp.cendreo.com/duply' TARGET_USER='user' TARGET_PASS='userpass' SOURCE='/' MAX_FULL_BACKUPS=2
Contenu du fichier exclude
/bin /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 * * 0-5 duply mon_profil backup_purge_status --force 0 3 * * 6 duply nom_profil pre_full_purge-full_status --force
Vérification des sauvegardes
root@w1:~/.duply/mon_profil# duply mon_profil status 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 ---
Restauration # Restaure le dernier backup
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.