Table des matières
Système de backup
Principe de sauvegarde
Le risque 0 n'existant pas, l'objectif va être de réduire ce risque au maximum. En effet, la règle du 3-2-1 pour la sauvegarde, est là pour permettre de gérer efficacement n'importe quel scénario de défaillance (perte de support, incendie du lieu de stockage,…).
Une bonne sauvegarde doit donc répondre à ce principe du 3-2-1 et est donc constituée d'au moins :
- 3 copies des données (en comptant les données originales) : avec trois copies, la probabilité de défaillance simultanée des trois périphériques est très faible
- 2 supports différents (au moins 2 stockages distincts) : il est important d'avoir la copie de production d'une part (serveur), une sauvegarde sur un premier périphérique (disque dur externe) et la troisième sauvegarde sur un autre périphérique (clé USB)
- 1 copie en hors site (au moins 2 lieux distincts) : dans le cas de la perte (à cause d'un incendie par exemple) du serveur et de la copie sur disque dur présent dans le même lieu, il restera la copie en hors site
Mettre en place un backup
Créer une archive
Créer un script dans /usr/local/bin/
:
- backup.sh
#!/bin/bash DATE=$(date +%Y-%m-%d-%H%M%S) BACKUP_DIR="/media/stockage/backup/" SOURCE="/home/dossier_a_archiver/" tar -cvzpf $BACKUP_DIR/backup-$DATE.tar.gz $SOURCE /usr/bin/find $BACKUP_DIR -mtime +15 -delete
SOURCE=“/repertoire/source_1 /repertoire/source_2 /repertoire/source_3”
En faisant une sauvegarde 3 fois par semaine, avec un historique de 15 jours, 6 sauvegardes seront disponibles en permanance.
Attention à bien prendre en compte la taille des archives et de veiller à l'expace disponible sur l'espace de stockage !
Déclarer le script dans le crontab de root avec la commande sudo crontab -e
:
00 3 * * 1,3,5 /usr/local/bin/backup.sh > /usr/local/bin/log_backup
Créer une synchronisation (Rsync)
Mode mirroir, de A vers B :
rsync -avz --delete /Origine_A/ /Destination_B/
Options :
-a
: mode archive (équivaut à -rlptgoD), préserve les dates, permissions, et autre, des fichiers (inclus l'option récursivité)-v
: mode verbeux (affichage de ce que fait la commande durant son exécution)-z
: comprime les fichiers pendant le transfert–delete
: supprime les fichiers exclusifs de la destination
Au final, B est l’image de A :
- Tout ce qui est modifié sur A est copié vers B ;
- Tout ce qui est modifié sur B, est remplacé par les fichiers de même nom de A ;
- Les fichiers plus récents sur B sont remplacés par les fichiers de A, même antérieurs ;
- Les fichiers propres à B sont supprimés.
Remarques :
- Le slash final des noms de dossiers est important. En effet
rsync dir1/ dir2/
n’a pas le même effet quersync dir1 dir2/
:- La première commande copiera le contenu de
dir1/
dansdans2/
(dir2/files) - La deuxième commande copiera le dossier
dir1/
dansdir2/
(dir2/dir1/files)
Autres options :
–info=progress1
: affichage de la progression fichier par fichier–info=progress2
: affichage de la progression globale–backup
: mode backup–backup-dir
: dossier de backup (en mode backup)–stats
: afficher un résumé détaillé en fin de copie
Mettre en place un backup sur YunoHost
Créer un script dans /usr/local/bin/
:
- backup.sh
#!/bin/bash DATE=$(date +%Y-%m-%d-%H%M%S) BACKUP_DIR="/media/stockage/backup_ynh/" SOURCE="/home/yunohost.backup/" yunohost backup create --name backup-ynh-$DATE --system yunohost backup create --name backup-apps-$DATE --apps freshrss shaarli wallabag2 rsync -avz --delete --max-size=1024MB $SOURCE $BACKUP_DIR /usr/bin/find $SOURCE -mtime +15 -delete
Déclarer le script dans le crontab de root avec la commande sudo crontab -e
:
00 3 * * 1,3,5 sh /usr/local/bin/backup.sh > /usr/local/bin/log_backup
Backup à distance avec rsync
Dans le cas d'une sauvegarde à distante (essentielle dans un principe de backup en 3-2-1), il est nécessaire d'utiliser la commande :
rsync -avz --delete --max-size=1024MB -e "ssh -p 22222" /Origine_A/ [username]@[host]:/Destination_B/
Mise à jour : https://yunohost.org/fr/backup/borgbackup https://forum.yunohost.org/t/borgbackup-restauration-post-installation-a-titre-informatif/15343