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à!