Backup perso

Sur mon propre ordi

C'est assez basique, histoire de pallier à un disque dur qui lâcherait sans signe d'alerte. Ça pourrait se combiner à distance mais 1) faudrait la fibre et 2) autant passer par borg/burp dans ce genre de cas).

backup.sh
#!/bin/bash
# Dossier pour les logs
LOG_DIR="/media/Vegvisir/log/"
LOG_FILE="$LOG_DIR/backup_$(date +%Y%m%d_%H%M%S).log"
 
# Créer le dossier de logs s'il n'existe pas
mkdir -p "$LOG_DIR"
 
# Exécution des sauvegardes avec logging
{
  echo "=== Début de la sauvegarde : $(date) ==="
  rsync -Pha --delete-after --ignore-errors /media/Ecogreen /media/Vegvisir/rsync/
  rsync -Pha --delete-after --ignore-errors /media/Alfheim /media/Vegvisir/rsync/
  rsync -Pha --delete-after --ignore-errors /home/zatalyz /media/Vegvisir/rsync/
  rsync -Pha --delete-after --ignore-errors /media/Seagate /media/Vegvisir/rsync/
  echo "=== Fin de la sauvegarde : $(date) ==="
} 2>&1 | tee -a "$LOG_FILE"

Lancement automatique via systemd ; soit à une heure précise tous les jours (20h) soit le lendemain aussi tôt que possible.

sudo nano /etc/systemd/system/backup.service
[Unit]
Description=Backup des dossiers sur Vegvisir
Wants=network-online.target
After=network-online.target
 
[Service]
Type=oneshot
ExecStart=/media/Vegvisir/backup.sh
sudo nano /etc/systemd/system/backup.timer
[Unit]
Description=Timer pour le script de sauvegarde
 
[Timer]
OnCalendar=*-*-* 20:00:00
Persistent=true
 
[Install]
WantedBy=timers.target
sudo systemctl enable backup.timer
sudo systemctl start backup.timer

Lister les timers actifs :

systemctl list-timers --all

 Ce texte est placé sous licence CC0