Sauvegarde base sql

Hello de bon matin.
A toute fin utile, voici les tâches cron de sauvegardes qui sont lancées chaque nuit sur mon serveur yunohost:

sauvegarde quotidienne de yunohost

0 1 * * * yunohost backup create

suppression des sauvegardes yunohost vieilles de plus de 7 jours

30 2 * * * find /home/yunohost.backup/archives -type f -mtime +7 -exec rm {} ;

dump des bases mysql

0 3 * * * mysqldump --all-databases > /home/yunohost.backup/mysql_dumps/dump-$( date ‘+%Y-%m-%d_%H-%M-%S’ ).sql -u root -pmot_de_passe_root_mysql

suppression des dumps mysql vieux de plus de 7 jours

0 4 * * * find /home/yunohost.backup/mysql_dumps -type f -mtime +7 -exec rm {} ;

copie des sauvegardes vers le disque interne de la freebox HD (décodeur TV)

30 4 * * * /root/copie_sauvegarde.sh

Pour la partie dump des bases mysql, au lieu de l’option --all-databases on peut lancer la commande en précisant la base à sauvegarder (ce qui donnerait pour la base nextcloud quelque chose comme:
mysqldump nextcloud > /home/yunohost.backup/mysql_dumps/nextcloud-$( date ‘+%Y-%m-%d_%H-%M-%S’ ).sql -u root -pmot_de_passe_root_mysql

Comme on peut le voir, à la fin j’envoie mes sauvegardes yunohost ainsi que mes dumps mysql vers le disque dur de mon boitier freebox HD (V5) en FTP via un script (copie_sauvegarde.sh) dont voici le contenu (il vous faudra avoir installé au préalable curlftpfs qui permet de monter localement un répertoire FTP distant):

#!/bin/bash

curlftpfs -o allow_other utilisateur_ftp_freebox:mot_de_passe_ftp_freebox@hd1.freebox.fr/Disque\ dur /media/freebox/ &&
cp -ruv /home/yunohost.backup/ /media/freebox/backup_yunohost/ &&
find /media/freebox/backup_yunohost/yunohost.backup/archives -type f -mtime +7 -exec rm {} ; &&
find /media/freebox/backup_yunohost/yunohost.backup/mysql_dumps -type f -mtime +7 -exec rm {} ; &&
umount /media/freebox

Voici ce que fait le script:

  • Montage du disque dur interne de la freebox HD dans /media/freebox

  • copie du contenu de /home/yunohost.backup (dans lequel se trouvent les sauvegardes yunohost ainsi que les dumps mysql) dans /media/freebox/backup_yunohost (c’est à dire en réalité sur le disque dur interne de la freebox HD)

  • Suppression des sauvegardes yunohost vieilles de plus de 7 jours sur la freebox HD

  • Suppression des dumps mysql vieux de plus de 7 jours sur la freebox HD

  • Démontage du disque dur de la freebox HD

Et voilà!

6 Likes