Les sauvegardes, c’est le bien (y a qu’à voir cet article pour s’en rendre compte). Un logiciel très pratique pour les sauvegardes est Backup-manager. Il permet de faire des sauvegardes automatisées de répertoires et de bases de données.
Pour l’installer, rien de plus simple, il est présent dans les dépôts Debian. A l’installation il va vous demander dans quel répertoire stocker les fichiers de sauvegarde et quels répertoires sauvegarder. Le reste se configure via le fichier /etc/backup-manager.conf. Au niveau des répertoires à sauvegarder, je vous conseille de sauvegarder au moins le répertoire /etc, /var/www si vous hébergez des site et votre home en excluant les répertoires inutiles ou vraiment trop volumineux (voir plus loin pour exclure des sous-répertoire).
On va voir ce qui a besoin d’être configuré.
Ouvrez le fichier /etc/backup-manager.conf. Comme je stocke les sauvegarde dans le home de mon utilisateur, j’ai modifié les lignes export BM_REPOSITORY_USER
et export BM_REPOSITORY_GROUP
afin de mettre mon utilisateur au lieu de root. Comme je récupère les sauvegarde via ssh pour les copier sur mon PC, ça me facilite la vie que le répertoire de backup ne soit pas accessible qu’au root.
Il faut également modifier la ligne export BM_ARCHIVE_METHOD
et mettre comme valeur "tarball-incremental mysql"
pour indiquer qu’on veut une sauvegarde incrémentale et également sauvegarder des base de donnée SQL.
Si jamais il y a des sous-répertoire que vous ne voulez pas sauvegarder, il vous faut les indiquer à la ligne export BM_TARBALL_BLACKLIST
.
Si vous avez des bases de données à sauvegarder, il faut l’indiquer à la ligne export BM_MYSQL_DATABASES
.
Vous pouvez soit laisser le __ALL__
pour qu’il sauvegarde toutes les bases de données (si vous en avez plusieurs) dans une seule archive, soit lui indiquer toutes les bases et avoir ainsi une archive par base.
Je trouve la seconde solution, une archive par base, beaucoup plus pratique. Surtout quand on a une dizaine de base de donnée SQL.
En dessous de cette ligne il faudra configurer l’accès à votre base de donnée. Je vous conseille de ne pas laisser l’utilisateur root (surtout que le mot de passe se retrouve en clair sur le fichier de config) mais de créer un utilisateur spécial avec les droits de lecture uniquement sur toutes les bases (ou au moins celles que vous voulez sauvegarder).
A moins que vous ne vouliez uploader automatiquement les backups sur un autre serveur/PC, mettez les ligne export BM_UPLOAD_METHOD
et export BM_BURNING_METHOD
à none
Si vous avez besoin de modifier le répertoire dans lequel sont stockés les backup ou les répertoires à sauvegarder, il faudra modifier, respectivement, la ligne export BM_REPOSITORY_ROOT
et export BM_TARBALL_DIRECTORIES
Il ne nous reste plus qu’à créer le fichier /etc/cron.daily/backup-manager,
avec nano ou vi, et de mettre dedans
[pastacode lang=”bash” manual=”%23!%2Fbin%2Fsh%0A%23%20cron%20script%20for%20backup-manager%0Atest%20-x%20%2Fusr%2Fsbin%2Fbackup-manager%20%7C%7C%20exit%200%0A%2Fusr%2Fsbin%2Fbackup-manager” message=”” highlight=”” provider=”manual”/]
Tous les scripts contenus dans /etc/cron.daily/
sont exécutés quotidiennement par le système. Ainsi vous aurez des backups journaliers. Voyons vite fait les commandes qui composent se script.
- La commande
test -x /usr/sbin/backup-manager || exit
0 teste que Backup-manager soit présent sur le système et exécutable. Si ce n’est pas le cas il interrompt le script. - La commande
/usr/sbin/backup-manager
lance Backup-manager si le test de la première commande est réussi.
Il nous faut rendre ce scrip exécutable avec la commande
sudo chmod 751 /etc/cron.daily/backup-manager
Si vous ne voulez pas de backup journalier mais hebdomadaire ou mensuel, il vous suffit de déplacer le script dans le répertoire /etc/cron.weekly
ou /etc/cron.monthly
. A l’inverse vous pouvez également le déplacer dans le répertoire /etc/cron.hourly
pour qu’il s’éxécute toutes les heures.
Je vous déconseille fortement de faire un backup hebdomadaire ou mensuel, un backup doit être au moins journalier (où toutes les heures pour des données vraiment sensibles).
Je vous conseille également soit de récupérer les backup régulièrement (au moins une fois par semaine) pour les stocker sur un disque externe ou sur un autre PC, soit de mettre en place un upload automatique vers un autre serveur ou vers un cloud.
Faire des backups d’une machine et laisser les sauvegardes sur la machine n’a aucun sens. Si le disque dur décède vous aurez perdu vos données ainsi que les backups.
Pour tester si tout est bien configuré, vous pouvez lancer la commande sudo backup-manager -v
afin de lancer Backup-manager manuellement en mode bavard. S’il y a des erreurs elles apparaîtront.
Ping : Sauvegardes à distance avec BackupPC libfile-rsyncp-perl - Memo du Geek
Ping : [Wordpress] sauvegarder son site en ligne sur un support extérieur – Journal d'un archiviste