====== Généralités ====== Grifon réalise des sauvegardes quotidiennes des données et configurations de ses VM avec l'outil [[https://borgbackup.readthedocs.io/en/stable/#|Borg Backup]]. La destination des sauvegardes est une VM qui se trouve sur un site distant : [[machines:grifon:loth|Loth]] ou [[machines:grifon:backup02|backup02]]. Voici maintenant un exemple de mise en place de la sauvegarde automatique quotidienne pour une VM. ====== Initialisation ====== auth02 ~ # ssh-keygen -t ed25519 auth02 ~ # cat ~/.ssh/id_ed25519.pub ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPB/PjCM4qSJ6Yt7zzP0XuHTvlWlpHbF0qw/oDPf638j root@auth02.grif loth ~ # echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPB/PjCM4qSJ6Yt7zzP0XuHTvlWlpHbF0qw/oDPf638j root@auth02.grif' >> /home/backup/.ssh/authorized_keys loth ~ # ln -s /var/backups/grifon/auth02 /home/backup auth02 ~ # emerge -va borgbackup auth02 ~ # borg init -e=none backup@loth.grifon.fr:$(hostname -s ) ====== Script de backup ====== Script à mettre dans /usr/local/sbin/backup.sh : #!/usr/bin/env bash borg prune -v backup@backup02.grifon.fr:$(hostname -s) --keep-daily=7 --keep-weekly=4 --keep-monthly=1 borg compact backup@backup02.grifon.fr:$(hostname -s) borg create --info --stats --compression lzma backup@backup02.grifon.fr:$(hostname -s)::$(date +%F) $(find / -maxdepth 1 -type d | grep -Ev '^/$|^/tmp|^/lost\+found|^/mnt|^/run|^/proc|^/dev|^/sys|^/media' | tr '\n' ' ') puis : chmod +x /usr/local/sbin/backup.sh et enfin un fichier de cron : echo "51 0 * * * root /usr/local/sbin/backup.sh" > /etc/cron.d/backup