Skip to Content
DocumentationExploitationAdministration systèmeSauvegarde et récupération

Sauvegarde et récupération

La sauvegarde des données est l’un des aspects les plus importants de l’administration du système. Cet article présente diverses solutions de sauvegarde et de récupération dans Ubuntu 26.04 pour vous aider à choisir l’outil adapté à vos besoins.

rsync - Outil de synchronisation flexible

rsync est un outil de synchronisation de fichiers rapide et flexible qui prend en charge les transferts incrémentiels et constitue l’un des outils de sauvegarde les plus couramment utilisés sous Linux.

Utilisation de base

# Local directory sync rsync -av /source/directory/ /backup/directory/ # Note: the trailing slash on the source path matters # /source/dir/ -> syncs the contents of the directory # /source/dir -> syncs the directory itself (including the directory name)

Options communes

# -a archive mode (preserves permissions, timestamps, symlinks, etc.) # -v verbose output # -z compress during transfer # -h human-readable output # --progress show progress # --delete delete files in the target that don't exist in the source # Complete local backup command rsync -avh --progress /home/user/ /backup/home-user/ # Backup with exclusion rules rsync -avh --progress \ --exclude='.cache' \ --exclude='node_modules' \ --exclude='.local/share/Trash' \ /home/user/ /backup/home-user/ # Using an exclude file rsync -avh --exclude-from='/home/user/rsync-excludes.txt' \ /home/user/ /backup/home-user/

Sauvegarde à distance

# Backup to a remote server via SSH rsync -avz -e ssh /home/user/ user@remote:/backup/home-user/ # Specify SSH port rsync -avz -e "ssh -p 2222" /home/user/ user@remote:/backup/home-user/ # Restore from a remote server rsync -avz user@remote:/backup/home-user/ /home/user/ # Use --delete to keep both sides in sync rsync -avz --delete /home/user/ user@remote:/backup/home-user/

Script de sauvegarde rsync automatisé

Créez un script de sauvegarde :

sudo nano /usr/local/bin/daily-backup.sh
#!/bin/bash # Configuration SOURCE="/home/" DEST="/backup/daily" LOG="/var/log/backup.log" DATE=$(date +%Y-%m-%d_%H%M%S) # Create log entry echo "===== Backup started: $DATE =====" >> "$LOG" # Execute backup rsync -avh --delete \ --exclude='.cache' \ --exclude='node_modules' \ --exclude='.local/share/Trash' \ "$SOURCE" "$DEST" >> "$LOG" 2>&1 # Record result if [ $? -eq 0 ]; then echo "Backup completed successfully: $(date)" >> "$LOG" else echo "Backup failed: $(date)" >> "$LOG" fi
sudo chmod +x /usr/local/bin/daily-backup.sh

Planifiez-le avec cron :

# Run backup every day at 2 AM sudo crontab -e # Add: 0 2 * * * /usr/local/bin/daily-backup.sh

Timeshift - Instantanés du système

Timeshift se concentre sur les instantanés et la récupération des fichiers système, similaires à la restauration du système Windows.

Installation et configuration

# Install Timeshift sudo apt install timeshift # Launch the graphical interface sudo timeshift-gtk # Create a snapshot via command line sudo timeshift --create --comments "Before installing NVIDIA driver" # List all snapshots sudo timeshift --list # Restore to a specific snapshot sudo timeshift --restore --snapshot '2026-03-24_10-00-00' # Delete a snapshot sudo timeshift --delete --snapshot '2026-03-24_10-00-00'

Configuration de la ligne de commande

# View current configuration sudo timeshift --config # Set snapshot type (RSYNC or BTRFS) sudo timeshift --snapshot-device /dev/sda2

Fichier de configuration du décalage horaire

Modifier /etc/timeshift/timeshift.json :

{ "backup_device_uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "parent_device_uuid": "", "do_first_run": false, "btrfs_mode": false, "include_btrfs_home": false, "schedule_monthly": false, "schedule_weekly": true, "schedule_daily": true, "schedule_hourly": false, "schedule_boot": false, "count_monthly": 2, "count_weekly": 3, "count_daily": 5, "count_hourly": 0, "count_boot": 0, "exclude": [ "/home/**", "/root/**" ] }

Mode instantané Btrfs

Si le système utilise le système de fichiers Btrfs, Timeshift peut exploiter les instantanés Btrfs natifs, qui sont plus rapides et utilisent moins d’espace :

# Verify filesystem type df -T / # If it's Btrfs, select BTRFS mode in Timeshift sudo timeshift --btrfs

Deja Dup - Outil de sauvegarde du bureau

Deja Dup (GNOME Backups) est un outil de sauvegarde facile à utiliser pour l’environnement de bureau Ubuntu, adapté aux utilisateurs personnels.

Installation et utilisation

# Install (usually pre-installed on Ubuntu Desktop) sudo apt install deja-dup

Deja Dup fournit une interface graphique, accessible via « Paramètres » ou en recherchant « Sauvegardes » dans le menu de l’application.

Principales caractéristiques :

  • Prend en charge la sauvegarde sur des disques locaux, des disques externes et le stockage réseau
  • Prend en charge la sauvegarde sur Google Drive et autre stockage cloud
  • Cryptage automatique des sauvegardes
  • Prise en charge de la sauvegarde incrémentielle
  • Sauvegardes automatiques planifiées

Opérations de ligne de commande

Deja Dup utilise la duplicité comme backend :

# Manually run a backup deja-dup --backup # Restore files deja-dup --restore

Sauvegarde d’image disque

Création d’images disque avec dd

# Create a full disk image sudo dd if=/dev/sda of=/backup/sda.img bs=4M status=progress # Compressed image sudo dd if=/dev/sda bs=4M status=progress | gzip > /backup/sda.img.gz # Restore from an image sudo dd if=/backup/sda.img of=/dev/sda bs=4M status=progress # Restore from a compressed image gunzip -c /backup/sda.img.gz | sudo dd of=/dev/sda bs=4M status=progress

Utiliser Clonezilla

Clonezilla est un puissant outil de clonage et d’imagerie de disque :

# Install Clonezilla sudo apt install clonezilla # It is generally recommended to boot from a Clonezilla Live USB # Download: https://clonezilla.org/downloads.php

Sauvegarde du système avec tar

# Back up the entire system (excluding unnecessary directories) sudo tar czpf /backup/system-$(date +%Y%m%d).tar.gz \ --exclude=/backup \ --exclude=/proc \ --exclude=/sys \ --exclude=/dev \ --exclude=/run \ --exclude=/tmp \ --exclude=/mnt \ --exclude=/media \ --exclude=/lost+found \ / # Restore the system sudo tar xzpf /backup/system-20260324.tar.gz -C /

Sauvegarde de base de données

MySQL/MariaDB

# Back up a single database mysqldump -u root -p database_name > /backup/db-$(date +%Y%m%d).sql # Back up all databases mysqldump -u root -p --all-databases > /backup/all-db-$(date +%Y%m%d).sql # Restore a database mysql -u root -p database_name < /backup/db-20260324.sql

PostgreSQL

# Back up a single database sudo -u postgres pg_dump dbname > /backup/pg-$(date +%Y%m%d).sql # Back up all databases sudo -u postgres pg_dumpall > /backup/pg-all-$(date +%Y%m%d).sql # Restore sudo -u postgres psql dbname < /backup/pg-20260324.sql

Recommandations en matière de stratégie de sauvegarde

La règle de sauvegarde 3-2-1

  • 3 copies de vos données (l’original + 2 sauvegardes)
  • 2 supports de stockage différents (par exemple, disque dur local + stockage cloud)
  • 1 sauvegarde hors site (protection contre les catastrophes physiques)

Recommandations par scénario

ScénarioOutils recommandésFréquence de sauvegarde
Utilisateur personnel de bureauDéjà Dup + TimeshiftQuotidien / Hebdomadaire
Poste de travail de développementrsync + TimeshiftQuotidiennement
Serveur Webrsync + sauvegarde de la base de donnéesQuotidien/Horaire
Serveur d’entreprise critiquersync + instantanés LVM + sauvegarde hors siteEn temps réel / horaire

Vérification des sauvegardes

Il est essentiel de vérifier régulièrement l’intégrité des sauvegardes :

# Verify a tar backup tar tzf /backup/system-20260324.tar.gz > /dev/null # Verify an rsync backup rsync -avhn --delete /source/ /backup/ # dry-run to compare differences # Perform periodic restore drills