Sauvegardes au quotidien – Rdiff-Backup et MySqlDump

rdiff-backup sauvegarde sima78J’avais déjà écrit un billet intitulé « Scripts de sauvegardes journalières et hebdomadaires » et un commentaire de Tetsumaki m’a donner à réfléchir.

Pourquoi je fais compliqué quand ont peut faire simple?

Soit, j’aime les scripts, et du coup il m’arrive de m’emballer et il fallait un disque de sauvegarde assez « gros »… Et j’ai décidé de regarder du côté de Rdiff-Backup. J’ai été séduit !

Je fais donc un nouveau billet sur le sujet de la sauvegarde sans pour autant supprimer l’autre…

Rdiff-Backup existe aussi pour Windows, je suppose qu’il doit exister une interface graphique , j’avoue ne pas avoir cherché puisque je m’en sert pour la sauvegarde d’un serveur, qui n’a pas d’interface graphique et de façon automatisée.

Bien entendu, une sauvegarde ne se fait pas sur une partition du disque dur, pas même sur un autre disque dur sur le même pc, mais sur un disque externe ou un pc distant…

Une modification à été apporté le 07/12/2023 concernant le message d’érreur :

/bin/sh: 1: root: not found

Lire la suite…

Sauvegarde avec Rdiff-Backup et MysqlDump.

Dans un premier temps j’ai défini les répertoires que je souhaitais sauvegarder, puis j’ai créé un fichier texte pour les regrouper.
Dans cet exemple, je décide de sauvegarder « /etc », « /home », « /var »

# nano /root/scripts/include-dir.txt

Copiez ce qu’il y a ci-dessous:

/etc
/home
/var

Maintenant nous allons créer le script dans la « cron.daily »

# nano /etc/cron.daily/backup

Copiez en adaptant ce qui suit.

#!/bin/bash
rdiff-backup --include-globbing-filelist /root/scripts/include-dir.txt --exclude '**' / /dir/de/sauvegarde/backup/

/dir/de/sauvegarde/backup/ est la destination de la sauvegarde, je vous laisse l’adapter selon vos choix.

Le rendre exécutable:

chmod +x /etc/cron.daily/backup

Je souhaite également sauvegarder des bases de données, on peut aussi le faire via Rdiff-backup, personnellement le préfère utiliser « mysqldump » (et oui, je suis un animal d’habitudes) :

# nano /etc/cron.daily/mysql-backup

Copiez en adaptant ce qui suit.

#!/bin/bash
mysqldump -u nextcloud -motdepasse nextcloud > /dir/de/sauvegarde/bd/nextcloud.sql
mysqldump -u dolibarr -motdepasse dolibarr > /dir/de/sauvegarde/bd/dolibarr.sql
mysqldump -u grr -motdepasse grr > /dir/de/sauvegarde/bd/grr.sql

Le rendre exécutable:

chmod +x /etc/cron.daily/mysql-backup

Pour que cela se fasse automatiquement et chaque jour, mettez le tout dans votre crontab:

# crontab -e

Copiez en adaptant ce qui suit.

PATH=/usr/sbin:/usr/bin:/sbin:/bin
SHELL=/bin/sh
MAILTO=""
# m h  dom mon dow   command
0 10 * * * root sh /etc/cron.daily/backup >/var/log/monbackup 2>&1 # JOB_BACKUP
0 15 * * * root sh /etc/cron.daily/mysql-backup >/var/log/monsav-bd 2>&1 # JOB_MYSQL-BACKUP

<Ajout du 07/12/2023>

J’ai le message d’erreur suivant : /bin/sh: 1: root: not found

Il arrive que root n’a pas de Shell et que l’user principal peut utiliser « sudo » sans confirmation de mot de passe, le cas par exemple de Raspberry, d’où un mot de passe fort pour cette user.

# nano /etc/cron.daily/backup

Copiez en adaptant ce qui suit.

#!/bin/bash
sudo rdiff-backup --include-globbing-filelist /root/scripts/include-dir.txt --exclude '**' / /dir/de/sauvegarde/backup/
# crontab -e

Copiez en adaptant ce qui suit.

PATH=/usr/sbin:/usr/bin:/sbin:/bin
SHELL=/bin/sh
MAILTO=""
# m h  dom mon dow   command
0 10 * * * /etc/cron.daily/backup >/var/log/monbackup 2>&1 # JOB_BACKUP
0 15 * * * /etc/cron.daily/mysql-backup >/var/log/monsav-bd 2>&1 # JOB_MYSQL-BACKUP

</Ajout du 07/12/2023>

Ceci-dit, il faut vérifier les sauvegardes, moi je simule une restauration dans un dossier de test, ici « test-sauv »

rdiff-backup --force -r now /dir/de/sauvegarde/backup/ /home/sima78/backup/rdiff-backup-data/test-sauv/

On peut voir les statistiques de la dernière sauvegarde

rdiff-backup-statistics /dir/de/sauvegarde/backup/

Ou la liste des incréments d’une sauvegarde

rdiff-backup -l /dir/de/sauvegarde/backup/

Vous pouvez aussi spécifier une durée de rétention des sauvegardes, dans le cas ci-dessous je supprime au-delà de 10 jours

rdiff-backup --remove-older-than 10D --force /dir/de/sauvegarde/backup/

Vous pouvez mettre D pour(Day), W pour(Week), M pour (Month) et Y pour (Year).
Donc voilà ma base, maintenant vous pouvez affiner comme par exemple avec mysqldump par lequel il est possible d’exporter plusieurs bases de données en une seule commande:

mysqldump --databases database1 database2 [...] > /home/sima78/my_databases.sql

Bref plein de possibilités il suffit de faire un « man » pour s’en rendre compte

man rdiff-backup
man mysqldump

Mes contributions aux logiciels libres

contributions logiciels libres

Je pense que lorsque l’on utilise du logiciel libre il est normal de contribuer, chacun selon ses moyens (financiers) et/ou selon ses capacités (techniques, disponibilités, etc.).

Mes contributions sont très limités, je fais la promotion du logiciel libre par quelques présentations publiques via le LUG dont je fais parti ou lorsque je contribue à des « Café Vie Privée » (dans les Yvelines), les retours de bugs des logiciels que j’utilise, quelques très trop rares traductions.

Financièrement, cela varie d’une année sur l’autre. Les temps sont durs et je sais que pour beaucoup c’est pire.

Je ne fais pas ce billet en donneur de leçon, loin de moi cette idée. Juste pour donner conscience que le logiciel libre existe grâce aux contributions, de celui qui l’utilise et en parle à ses voisins et ses collègues, de ceux qui développent, de ceux qui hébergent… Le panel est large et il y a de la place pour toute sorte de contributions. Chacun selon ses moyens, chacun selon ses capacités.

Pour moi:

Naturellement, cela commence par mon renouvellement de cotisation au LUG, Root66.Net, où il m’arrive de faire quelques modestes présentations publiques.

Dans une moindre mesure et par cette cotisation je contribue financièrement à l’APRIL et FramaSoft, puisque nous avons voté en AG pour que l’association apporte sa contribution financière à ces deux dernières.

Par ailleurs je soutiens:

La quadrature du Net:

Dear Sima78;

The whole team of La Quadrature du Net thanks you deeply for your support of its actions!

Mais pourquoi ne m’ont-ils pas répondu en bon François?

Wikipédia:

Chère/Cher Sima78, (bon, c’est mon prénom qui figure à la place de Sima78)

Merci pour votre soutien à Wikipédia et la Wikimedia Foundation. Votre contribution de € xxxxxx.xx aide Wikipédia et contribue à pérenniser l’avenir de la connaissance libre pour tous.

Wikipédia est possible grâce à une idée forte : les personnes comme vous et moi peuvent participer au renforcement de la connaissance du monde et la mettre librement à disposition de tous et partout.

Ok, j’ai rajouté quelques « x » pour faire genre: j’ai les moyens, mais dans la réalité, madame Sima est derrière moi et détient les cordons de notre maigre bourse, et heureusement…

Sans compter que je contribue de temps à autre à certaines applications au long de l’année, je referai un récapitulatif sur le blog si j’y pense.

Combien cela coûte? À chaque fois, entre moins du prix d’un paquet de clopes à un peu plus deux paquets.

Ha, j’allais oublier l’AFUL où les démarches sont en discussions car je ne souhaite pas le faire via leur site, trop de champs à remplir… Mais ça devrait se faire.

Voir ma page de soutien.