[[:admin|< retour à la page de l'administration technique]] Archive de la page "admin:services:backup" au 23/08/2019 pour garder trace des anciens paramétrages de backup. Actuellement (2018-04-29) **il n'y a pas de backups à federez** car la solution legacy (obnam) n'a pas été tenue à jour (*) et la solution future (borg) jamais vraiment déployée. (* donc en gros on sait pas ce qui est sauvegardé et si ça correspond à ce qui doit l'être, de plus, visiblement, quand les backups échouent, il peut se passer plusieurs semaines de multiples email quotidiens sans que personne ne s'en occupe) En attendant y'en a marre des mails d’échec d'obnam que tout le monde semble ignorer, donc les crons de backups sont désactivés. N'hésitez pas à reprendre le flambeau, avant la prochaine catastrophe espérons-le... ===== Concept de sauvegarde ===== **Backupninja** sert pour les sauvegardes automatisées locales (''/var/backups'') : * des informations systèmes utiles (dpkg-selections, fstab, lvm...) * des dumps des bases de données MySQL **Obnam** sert à effectuer la sauvegarde proprement dite vers les serveurs de destination. Il gère l'aspect snapshot et déduplication des données. Actuellement (2017-06-24) les backups d'obnam de dodecagon vers quigon sont désactivés ! Actuellement, Borg est en cours de déploiement pour remplacer Obnam. **BorgBackup** (ou Borg) sert à effectuer la sauvegarde proprement dite vers les serveurs de destination. Il gère un historique des versions des sauvegardes ainsi que la déduplication et la compression des données. ---- ===== Opérations courantes ===== La doc concernant la mise en place initiale se situe plus bas. ==== Faire une sauvegarde ==== Exemple depuis hexagon vers quigon : obnam --config /etc/obnam/to_quigon.profile backup ==== Enlever un lock récalcitrant ==== Par exemple, un lock de la part d'hexagon vers kdell: obnam --config /etc/obnam/to_kdell.profile force-lock force-lock removes a lock file for a client in the repository. You should only force a lock if you are sure no-one is accessing that client's data in the repository. **A dangling lock might happen, for example, if obnam loses its network connection to the backup repository.** ==== Mettre à jour la liste des chemins à sauvegarder ==== Voir la sous-section [[admin:services:backup#configuration-d-obnam|Contenu des fichiers de config]]. (nbsp)Pensez bien à mettre à jour le contenu des fichiers de config sur le wiki également ! ==== Voir les générations (versions) ==== Exemple depuis hexagon avec l'archive située sur quigon : obnam --config /etc/obnam/to_quigon.profile generations ==== Restaurer des données ==== Si dessous quelques exemples testés. Voir aussi la doc officielle : http://code.liw.fi/obnam/manual/obnam-manual.en.html#restoring-from-backups === Restauration depuis le serveur originel === Ce cas se présente lorsque le serveur originel est toujours "ok" mais qu'on veut restaurer des données perdues/modifiées par inadvertance/... == Restauration via montage FUSE == Exemple depuis hexagon avec l'archive située sur quigon : Création d'un dossier pour le point de montage mkdir /path/to/restore-fuse-mountpoint montage de l'archive en tant que système de fichier FUSE obnam --config /etc/obnam/to_quigon.profile mount --to /path/to/restore-fuse-mountpoint Montre les générations accessibles pour la restauration ls -la /path/to/restore-fuse-mountpoint Restauration du fichier /etc/postfix/main.cf depuis la dernière génération cp /path/to/restore-fuse-mountpoint/latest/etc/postfix/main.cf /tmp/main.cf.restored Démonter le système de fichier FUSE fusermount -u /path/to/restore-fuse-mountpoint === Restauration depuis une machine tierce === Dans le cas où l'on veut restaurer sur une machine X (pas précédemment inclue dans le système des sauvegardes) les données d'une machine A à partir de la sauvegarde effectuée sur la machine B ou C. * Il faut installer ''obnam'' sur la machine X (merci Captain Obvious !) * Il faut au préalable ajouter la clef publique SSH du compte qui sert à effectuer la restauration dans le ''~obnam/.ssh/autorized_keys'' sur la machine B (sinon obnam ne pourra pas se connecter en SFTP au repository). * Il suffit ensuite d'utiliser obnam depuis la machine X en précisant * l'option ''--repository=sftp:%%//%%obnam@machineB.example.org/~/obnam-repository-machineA'' pour aller chercher les données sur la machine B * l'option ''--client-name=machineA'' pour restaurer les données de la machine A * l'option ''--no-default-configs'' pour faire fi de toute éventuelle configuration d'obnam déjà présente sur la machine X Exemple testé ci-dessous : restauration sur gluon (serveur perso de Zertrin) de données de kdell à partir de la sauvegarde située sur hexagon. == Avec FUSE == * Ajout de la clef SSH de ''zertrin@gluon'' dans ''~obnam/.ssh/authorized_keys'' sur hexagon : //exercice laissé au lecteur// * Lister les générations disponibles (et en même temps vérifier que la connexion fonctionne) : obnam --no-default-configs --repository=sftp://obnam@hexagon.federez.net/~/obnam-repository-machineA --client-name=kdell generations ++++ output | 2 2016-02-14 22:46:03 .. 2016-02-14 22:57:24 (9013 files, 42206636 bytes) 23 2016-02-14 23:34:11 .. 2016-02-14 23:36:00 (9018 files, 58471331 bytes) 65 2016-02-15 00:33:38 .. 2016-02-15 00:34:21 (9209 files, 81373094 bytes) 87 2016-02-15 01:28:28 .. 2016-02-15 01:29:04 (9147 files, 75389186 bytes) 108 2016-02-15 23:45:34 .. 2016-02-15 23:46:41 (9149 files, 75545016 bytes) 129 2016-02-16 01:40:25 .. 2016-02-16 01:41:06 (9149 files, 75617687 bytes) 150 2016-02-16 03:40:22 .. 2016-02-16 03:40:42 (9149 files, 75617687 bytes) 171 2016-02-16 05:40:21 .. 2016-02-16 05:40:45 (9149 files, 75681743 bytes) 192 2016-02-16 07:40:24 .. 2016-02-16 07:40:44 (9149 files, 75686602 bytes) 213 2016-02-16 09:40:22 .. 2016-02-16 09:40:43 (9149 files, 75687464 bytes) 234 2016-02-16 11:40:29 .. 2016-02-16 11:40:49 (9149 files, 75687464 bytes) 255 2016-02-16 13:40:24 .. 2016-02-16 13:40:46 (9149 files, 75687464 bytes) 276 2016-02-16 15:40:23 .. 2016-02-16 15:40:47 (9149 files, 75687654 bytes) 297 2016-02-16 17:40:30 .. 2016-02-16 17:40:55 (9149 files, 75687654 bytes) 318 2016-02-16 19:40:49 .. 2016-02-16 19:41:23 (9149 files, 75687325 bytes) ++++ * Préparer un point de montage pour le système de fichier FUSE : mkdir /path/to/obnam_restore_kdell * Monter la sauvegarde via obnam avec FUSE : obnam --no-default-configs --repository=sftp://obnam@hexagon.federez.net/~/obnam-repository-machineA --client-name=kdell mount --to /path/to/obnam_restore_kdell * Vérifier qu'on a bien toutes les générations de dispo dans ''/path/to/obnam_restore_kdell'' : ls -la /path/to/obnam_restore_kdell ++++ output | total 68 drwxr-xr-x 25 root root 4096 Feb 15 23:46 108 drwxr-xr-x 25 root root 4096 Feb 16 01:41 129 drwxr-xr-x 25 root root 4096 Feb 16 03:40 150 drwxr-xr-x 25 root root 4096 Feb 16 05:40 171 drwxr-xr-x 25 root root 4096 Feb 16 07:40 192 drwxr-xr-x 25 root root 4096 Feb 14 22:57 2 drwxr-xr-x 25 root root 4096 Feb 16 09:40 213 drwxr-xr-x 25 root root 4096 Feb 14 23:36 23 drwxr-xr-x 25 root root 4096 Feb 16 11:40 234 drwxr-xr-x 25 root root 4096 Feb 16 13:40 255 drwxr-xr-x 25 root root 4096 Feb 16 15:40 276 drwxr-xr-x 25 root root 4096 Feb 16 17:40 297 drwxr-xr-x 25 root root 4096 Feb 16 19:41 318 drwxr-xr-x 25 root root 4096 Feb 15 00:34 65 drwxr-xr-x 25 root root 4096 Feb 15 01:29 87 lrwxr-xr-x 25 root root 4096 Feb 16 19:41 latest -> 318 -r--r--r-- 25 root root 4096 Feb 16 19:41 .pid ++++ * Voir le contenu de la génération 42 : ls -la /path/to/obnam_restore_kdell/42 * Voir le contenu de la dernière génération (''latest'') : ls -laH /path/to/obnam_restore_kdell/latest ++++ output | total 28 drwxr-xr-x 6 root root 4096 Feb 14 17:51 data drwxr-xr-x 112 root root 12288 Feb 16 17:53 etc drwxr-xr-x 24 root root 4096 Dec 21 17:16 home drwx------ 17 root root 4096 Feb 16 14:06 root drwxr-xr-x 14 root root 4096 Feb 14 17:51 var ++++ * Restaurer le fichier ''/etc/postfix/main.cf'' (par exemple) de la génération 42 : cp /path/to/obnam_restore_kdell/42/etc/postfix/main.cf /path/to/destination/main.cf.restored * Démonter la sauvegarde : fusermount -u /path/to/obnam_restore_kdell ---- ===== Installation initiale de backupninja ===== Backupninja sert à créer des backups des informations système ainsi que de la base de donnée MySQL automatiquement. Pour info, les backups créés par backupninja sont stockés dans ''/var/backups''. Ce dossier est inclus dans la sauvegarde d'obnam ce qui permet d'externaliser les backups effectués par backupninja. apt-get install hwinfo debconf-utils backupninja Désactiver l'envoi de mails en cas de succès : dans ''/etc/backupninja.conf'' mettre/changer ''reportsuccess = no''. Activer les backups des infos systèmes (:!: mettre ''lvm = no'' pour les systèmes sans LVM comme **quigon**) ++++ Ajouter le fichier /etc/backup.d/10.sys | packages = yes partitions = yes dosfdisk = yes hardware = yes luksheaders = no lvm = yes # packagesfile = /var/backups/dpkg-selections.txt # selectionsfile = /var/backups/debconfsel.txt # partitionsfile = /var/backups/partitions.__star__.txt # hardwarefile = /var/backups/hardware.txt # luksheadersfile = /var/backups/luksheader.__star__.bin # If vservers = yes in /etc/backupninja.conf then the following variables can # be used: # vsnames = all | ... (default = all) ++++ Activer les backups pour la base de donnée MySQL (:!: uniquement sur **hexagon**) ++++ Ajouter le fichier /etc/backup.d/20.mysql | ### backupninja MySQL config file ### # hotcopy = < yes | no > (default = no) # make a backup of the actual database binary files using mysqlhotcopy. hotcopy = no # sqldump = < yes | no > (default = no) # make a backup using mysqldump. this creates text files with sql commands # sufficient to recontruct the database. # sqldump = yes # sqldumpoptions = # (default = --lock-tables --complete-insert --add-drop-table --quick --quote-names) # arguments to pass to mysqldump # sqldumpoptions = --add-drop-table --quick --quote-names # compress = < yes | no > (default = yes) # if yes, compress the sqldump output. compress = yes # dbhost = (default = localhost) # backupdir = (default: /var/backups/mysql) # where to dump the backups. hotcopy backups will be in a subdirectory # 'hotcopy' and sqldump backups will be in a subdirectory 'sqldump' backupdir = /var/backups/mysql # databases = (default = all) # which databases to backup. should either be the word 'all' or a # space separated list of database names. databases = all configfile = /etc/mysql/debian.cnf ++++ Tester avec sudo backupninja -t -n ---- ===== Mise en place initiale de BorgBackup (ou Borg) ===== ==== Prérequis ==== * Serveur de départ : ''borg'' * Serveur d'arrivée : accessible en SSH. Un utilisateur dédié ''borg'' et son home accessible en SSH par l'utilisateur qui exécute borg sur le serveur de départ (typiquement ''root'') devra être créé (cf. ci-dessous) (nbsp) Exemple avec dodecagon, mais la procédure est la même pour chaque serveur. ==== Installation de Borg ==== Borg n'est disponible que via les backports pour jessie, on s'assurera donc que la ligne suivante est présente dans ''/etc/apt/source.list'' : deb http://http.debian.net/debian jessie-backports main Ensuite, on l'installe avec : apt update apt install -t jessie-backports borgbackup ==== Configuration de borg ==== Initialisation du répertoire ''/etc/borg-wrapper'' : dodecagon ~ # mkdir /etc/borg-wrapper dodecagon ~ # touch /etc/borg-wrapper/common.conf dodecagon ~ # touch /etc/borg-wrapper/{kdell.conf,quigon.conf} Les deux fichiers doivent être des fichiers bash valides. * Le premier fichier (''/etc/borg-wrapper/common.conf'') contiennent la configuration liée au serveur source qui envoie ses données. On y trouve notamment la liste des chemins à inclure et ceux à exclure. * Les autres fichiers (''/etc/borg-wrapper/{kdell.conf,quigon.conf}'') servent juste à indiquer le dépôt de sauvegarde sur les deux autres serveurs. ++++ config pour dodecagon (2017-05-08 18:33) | # Common configuration for backups from dodecagon to any other server # This file is sourced by borg-wrapper.sh, and must be valid bash script. BORG_USER='borg' # INCLUDE and EXCLUDE are indexed arrays in bash. INCLUDE=( '/etc' '/home' '/root' '/var/backups' '/var/lib/ldap' '/srv' ) EXCLUDE=( '.*/obnam-repository$' '.*/obnam-repository-*' '.*/\.cache' '/root/.local/share/letsencrypt' '/srv/ftp' ) # Only clean old backups when CLEAN_OLD_BACKUPS is exported from parent # CLEAN_OLD_BACKUPS='true' # 1 month daily, half a year weekly, 3 year monthly CLEANUP_POLICY=("--keep-daily=30" "--keep-weekly=26" "--keep-monthly=36") # Configuration for backups from dodecagon to kdell # This file is sourced by borg-wrapper.sh, and must be valid bash script. REMOTE="${BORG_USER}@kdell.federez.net:~borg/dodecagon" # Configuration for backups from dodecagon to quigon # This file is sourced by borg-wrapper.sh, and must be valid bash script. REMOTE="${BORG_USER}@quigon.federez.net:~borg/dodecagon" ++++ ==== Préparatifs sur un serveur de destination ==== (nbsp) Opérations effectuées en ''root''. Vous pouvez aussi le faire avec ''sudo'' (pas ''sudo -E'') si vous préférez. (nbsp) Exemple ici avec kdell comme serveur de destination, à répéter pour chaque serveur de destination en adaptant les noms de serveurs. Ajout de l'utilisateur ''borg'': (nbsp) Pour **kdell** on place le $HOME de borg dans ''/backup/borg'' pour profiter de la partition dédiée aux backups. kdell ~ # adduser --system --group --disabled-password --shell /bin/sh --home /backup/borg borg On prépare le fichier ''.ssh/authorized_keys'' pour permettre la connexion par clef publique depuis les autres serveurs. kdell ~ # cd ~borg kdell ~borg # sudo -u borg mkdir .ssh kdell ~borg # sudo -u borg touch .ssh/authorized_keys kdell ~borg # chmod 600 .ssh/authorized_keys kdell ~borg # vim .ssh/authorized_keys # ajouter les clefs publiques de root@hexagon et root@kdell On teste si la connexion sans mot de passe fonctionne depuis le serveur de départ (ici exemple avec dodecagon) et on en profite pour créer le dossier pour la sauvegarde (si pas déjà fait). ssh borg@kdell.federez.net mkdir dodecagon Il faut ensuite créer le dépôt : . /etc/borg-wrapper/common.conf . /etc/borg-wrapper/kdell.conf borg init --debug --encryption=none "${REMOTE}" ===== Mise en place initiale d'obnam ===== ==== Prérequis ==== * Serveur de départ : ''obnam'' * Serveur d'arrivée : accessible en SFTP. Un utilisateur dédié ''obnam'' et son home accessible en SFTP par l'utilisateur qui exécute obnam sur le serveur de départ (typiquement ''root'') devra être créé (cf. ci-dessous) (nbsp) Exemple avec hexagon, mais la procédure est la même pour chaque serveur. ==== Installation d'obnam ==== Utilisation des dépôts jessie-backports pour avoir une version assez récente. Dans ''/etc/apt/source.list'' ajouter (si nécessaire) : deb http://http.debian.net/debian jessie-backports main Puis ''apt-get update'' et avec l'aide d' ''aptitude'' par exemple choisir la version d'obnam provenant des backports. ==== Préparatifs sur un serveur de destination ==== (nbsp) Opérations effectuées en ''root''. Vous pouvez aussi le faire avec ''sudo'' si vous préférez. (nbsp) Exemple ici avec quigon comme serveur de destination, à répéter pour chaque serveur de destination en adaptant les noms de serveurs. Ajout de l'utilisateur ''obnam'': (nbsp) Pour **dodecagon** on place le $HOME d'obnam dans ''/data/obnam'' pour profiter de la partition dédiée à obnam dodecagon ~ # adduser --system --group --disabled-password --shell /usr/lib/sftp-server --home /data/obnam obnam (nbsp) Pour **hexagon** on place le $HOME d'obnam dans ''/home/obnam'' pour profiter de la grosse partition où se trouve ''/home'' hexagon ~ # adduser --system --group --disabled-password --shell /usr/lib/sftp-server --home /home/obnam obnam (nbsp) Pour **kdell** on place le $HOME d'obnam dans ''/backup/obnam'' pour profiter de la partition dédiée aux backups kdell~ # adduser --system --group --disabled-password --shell /usr/lib/sftp-server --home /backup/obnam obnam (nbsp) Pour **quigon** on place le $HOME d'obnam dans ''/data/obnam'' pour profiter de la grosse partition où se trouve ''/data'' quigon ~ # adduser --system --group --disabled-password --shell /usr/lib/sftp-server --home /data/obnam obnam On prépare le fichier ''.ssh/authorized_keys'' pour permettre la connexion par clef publique depuis les autres serveurs. quigon ~ # cd ~obnam quigon ~obnam # sudo -u obnam mkdir .ssh quigon ~obnam # sudo -u obnam touch .ssh/authorized_keys quigon ~obnam # chmod 600 .ssh/authorized_keys quigon ~obnam # vim .ssh/authorized_keys # ajouter les clefs publiques de root@hexagon et root@kdell On teste si la connexion sans mot de passe fonctionne depuis le serveur de départ (ici exemple avec hexagon) et on en profite pour créer le repository pour la sauvegarde (si pas déjà fait). hexagon ~ # sftp obnam@quigon.federez.net sftp> mkdir obnam-repository-hexagon sftp> ^D ==== Configuration d'obnam ==== Initialisation du répertoire ''/etc/obnam'' : hexagon ~ # mkdir /etc/obnam && cd /etc/obnam hexagon obnam # touch obnam_hexagon.conf hexagon obnam # touch to_kdell.profile hexagon obnam # touch to_quigon.profile === Contenu des fichiers de config === * Le premier fichier (''obnam_.conf'') correspond à la conf spécifique au serveur qui crée et envoie ses sauvegardes. On y trouve notamment la liste des chemins à inclure et ceux à exclure. * Les deux fichiers suivants (''to_.profile'') servent juste à pointer vers le dépôt de sauvegarde sur les deux autres serveurs. Attention pour les options ''root'' et ''exclude'' : le dernier élément ne doit **pas** se terminer avec une virgule ! ++++ config pour hexagon (2016-05-01 15:40) | [config] client-name = hexagon root = /etc, /home, /root, /var/backups, /var/lib/ldap, /var/lib/mailman exclude = .*/obnam-repository$, .*/obnam-repository-*, .*/\.cache, /home/duplicity, /home/ftp, /root/.local/share/letsencrypt, /srv/ftp log = /var/log/obnam.log log-level = info log-max = 10000000 log-keep = 10 log-mode = 0600 one-file-system = yes keep = 20h,30d,52w,10y upload-queue-size = 512 lru-size = 1024 lock-timeout = 900 [config] repository = sftp://obnam@kdell.federez.net/~/obnam-repository-hexagon [config] repository = sftp://obnam@quigon.federez.net/~/obnam-repository-hexagon ++++ ++++ config pour quigon (2016-05-01 15:40) | [config] client-name = quigon root = /etc, /home, /root, /srv/dokuwiki, /var/backups, /var/lib/ldap, /var/lib/mailman exclude = .*/obnam-repository$, .*/obnam-repository-*, .*/\.cache$, /home/backup_cyric, /home/backup_quigon, /home/kage/Federez, /home/zertrin/restore-nautilus, /root/.local/share/letsencrypt, log = /var/log/obnam.log log-level = info log-max = 1000000 log-keep = 10 log-mode = 0600 one-file-system = yes keep = 20h,30d,52w,10y upload-queue-size = 512 lru-size = 1024 lock-timeout = 900 [config] repository = sftp://obnam@kdell.federez.net/~/obnam-repository-quigon [config] repository = sftp://obnam@hexagon.federez.net/~/obnam-repository-quigon ++++ ++++ config pour kdell (2016-05-01 15:40) | [config] client-name = kdell root = /etc, /home, /root, /var/backups exclude = .*/obnam-repository$, .*/\.cache$, /root/.local/share/letsencrypt, log = /var/log/obnam.log log-level = info log-max = 1000000 log-keep = 10 log-mode = 0600 one-file-system = yes keep = 20h,30d,52w,10y upload-queue-size = 512 lru-size = 1024 lock-timeout = 900 [config] repository = sftp://obnam@hexagon.federez.net/~/obnam-repository-kdell [config] repository = sftp://obnam@quigon.federez.net/~/obnam-repository-kdell ++++ ==== Test première sauvegarde ==== Exemple depuis hexagon vers quigon: obnam --config /etc/obnam/to_quigon.profile backup ==== Purger les vieilles générations selon une politique donnée ==== L'option ''keep = 20h,30d,52w,10y'' dans le fichier de config correspond à la politique suivante : * garder les 20 dernières générations horaires (comme le script est lancé toutes les 4 heures, ca fait garder les générations horaires pour un peu plus de 3 jours (20*4 = 80 heures)) * garder les 30 dernières générations journalières * garder les 52 dernières générations hebdomadaires * garder les 10 dernières générations annuelles En appelant la commande suivante une fois par jour, les générations qui sont superflues sont supprimées de l'archive. Exemple depuis hexagon avec l'archive située sur quigon : obnam --config /etc/obnam/to_quigon.profile forget ==== Mise en place des cron pour obnam ==== Les crons se trouvent dans ''/etc/cron.d/obnam-backup'' et ''/etc/cron.d/obnam-forget'' ++++ Les /etc/cron.d/obnam-backup sur les 3 serveurs | **hexagon** PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 35 1-21/4 * * * root obnam --config /etc/obnam/to_kdell.profile backup 1>/dev/null 40 3-23/4 * * * root obnam --config /etc/obnam/to_quigon.profile backup 1>/dev/null **quigon** PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 35 1-21/4 * * * root obnam --config /etc/obnam/to_hexagon.profile backup 1>/dev/null 40 3-23/4 * * * root obnam --config /etc/obnam/to_kdell.profile backup 1>/dev/null **kdell** PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 35 1-21/4 * * * root obnam --config /etc/obnam/to_quigon.profile backup 1>/dev/null 40 3-23/4 * * * root obnam --config /etc/obnam/to_hexagon.profile backup 1>/dev/null ++++ ++++ Les /etc/cron.d/obnam-forget sur les 3 serveurs | **hexagon** PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 25 0 * * * root obnam --config /etc/obnam/to_kdell.profile forget 1>/dev/null 30 2 * * * root obnam --config /etc/obnam/to_quigon.profile forget 1>/dev/null **quigon** PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 25 0 * * * root obnam --config /etc/obnam/to_hexagon.profile forget 1>/dev/null 30 2 * * * root obnam --config /etc/obnam/to_kdell.profile forget 1>/dev/null **kdell** PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 25 0 * * * root obnam --config /etc/obnam/to_quigon.profile forget 1>/dev/null 30 2 * * * root obnam --config /etc/obnam/to_hexagon.profile forget 1>/dev/null ++++ . . . 0 . . . 55 5 . + . . | . . | . 50 | 10 H <- K <- Q . | + ^ . | . | backup | +-----+ . | . H -> K -> Q +---------+ | | . ^ + toutes les 4h | 45 +----------------------------------+ 15 +----+ | forget | de 3h à 23h | . | . | +---------+ | . | . | seulement à 0h25 | . | . | | | | +----> 40 | 20 | . | . | H -> K -> Q . | . | ^ + . + . | H <- K <- Q | backup | +------------------> 35 25 <-----------+ + ^ +---------+ . . . 30 . . . +-+ | forget | toutes les 4h ^ | +---------+ de 1h à 21h +---------------------------+ seulement à 2h30 ---- ====== Duplicity ====== Le système de sauvegarde utilisant ''duplicity'' avec le wrapper ''duplicity-backup.sh'' a été migré vers une nouvelle solution utilisant ''obnam''. (Zertrin 2016-02-14 23:15) Page concernant les backups avec duplicity est archivée ici : [[admin:services:backup-duplicity|admin:services:backup-duplicity]]