Comment sauvegarder votre système Linux



La sauvegarde de vos données est cruciale. Ne risquez jamais de les perdre. Apprenez à sauvegarder vos informations les plus importantes directement depuis la ligne de commande Linux. Nous allons explorer l’utilisation de la commande rsync, et nous verrons aussi des interfaces graphiques optionnelles pour ceux qui le souhaitent.

Il existe une multitude de méthodes pour effectuer une copie de sécurité de vos fichiers. Nous allons nous concentrer sur une méthode éprouvée, flexible et fiable pour protéger vos informations. Nous avons choisi rsync pour ses algorithmes reconnus, qui calculent précisément les différences entre les fichiers dans le répertoire source et le répertoire de destination. Seules les modifications sont transférées, pas le fichier entier à chaque fois.

Cette efficacité, combinée à sa solide réputation en matière de copie et de synchronisation de répertoires depuis le milieu des années 1990, fait de rsync un outil idéal pour les sauvegardes en ligne de commande Linux.

De plus, des applications indépendantes servent d’interfaces pour rsync, offrant des interfaces graphiques que certains utilisateurs trouveront plus intuitives.

Plus une sauvegarde est simple et rapide, plus vous êtes susceptible de la réaliser régulièrement.

Utilisation de rsync avec un disque externe

Pour sauvegarder vos données sur un disque dur externe, ce dernier doit être monté et accessible. Si vous pouvez y écrire, rsync le peut également. Dans cet exemple, un disque dur USB externe nommé SILVERXHD (pour « Silver eXternal Hard Drive ») est connecté à l’ordinateur Linux et monté automatiquement par le système d’exploitation.

Vous devrez connaître le chemin d’accès au lecteur. Dans GNOME, lancez le gestionnaire de fichiers Nautilus et recherchez le nom du lecteur dans la barre latérale.

Passez le pointeur de la souris sur le nom du lecteur externe : une infobulle affichera son chemin d’accès.

Dans cet exemple, l’infobulle indique que le point de montage du système de fichiers sur le lecteur externe est « /media/dave/SILVERXHD ».

Si votre explorateur de fichiers ne propose pas cette option, accédez au lecteur externe et ouvrez un terminal à cet emplacement. Utilisez la commande `pwd` pour afficher le chemin dans le terminal.

Copie du contenu du répertoire source

Pour utiliser rsync afin de copier le contenu d’un répertoire vers votre destination de sauvegarde, employez la commande suivante :

L’option `-r` (récursif) permet à rsync de copier tous les sous-répertoires et leur contenu. Notez qu’il y a une barre oblique « / » à la fin de « SILVERXHD », mais elle apparaît sur la ligne suivante dans la capture d’écran.

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/

La copie des fichiers s’effectue, et vous êtes ramené à l’invite de commande.

En examinant le lecteur USB externe, vous constaterez que les répertoires qui se trouvaient dans le répertoire `Documents` ont été copiés à la racine du lecteur.

ls

Copie du répertoire source et de son contenu

Si vous souhaitez que le répertoire `Documents` et son contenu soient copiés sur le lecteur externe, supprimez la barre oblique « / » à la fin de « /home/dave/Documents » dans la ligne de commande, comme ceci :

rsync -r /home/dave/Documents /media/dave/SILVERXHD/

Pour éviter toute confusion, j’ai supprimé les deux répertoires précédemment copiés du lecteur externe avant l’exécution de cette deuxième commande.

Après l’exécution de cette deuxième copie, si nous réexaminons le lecteur externe, nous verrons que le répertoire `Documents` a été copié. Son contenu se trouve à l’intérieur de ce répertoire. Il n’est plus à la racine du lecteur externe.

Copie vers un répertoire cible spécifique

Pour copier vers un répertoire spécifique sur le disque dur de destination, ajoutez le nom du répertoire au chemin cible. Supposons que nous voulions copier le contenu de « /home/dave/Documents » vers un répertoire nommé « backups » sur le disque externe.

Nous le ferions avec la commande suivante :

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/backups/

En vérifiant le disque externe, nous pouvons constater que le répertoire `backups` a été créé, et à l’intérieur se trouve le contenu du répertoire « /home/dave/Documents ».

ls
ls backups

Préservation de la propriété et des permissions des fichiers

Utilisez l’option `-a` (archive) pour conserver les attributs des fichiers tels que les dates de modification, la propriété des fichiers, les permissions d’accès, etc., pour les fichiers copiés, les liens symboliques et les fichiers de bloc spéciaux.

rsync -ra /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Utilisation du mode verbeux

L’option `-v` (verbeux) force rsync à lister les fichiers au fur et à mesure qu’ils sont copiés.

rsync -rav /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Un résumé de la sauvegarde est affiché lorsque la copie est terminée.

Envoyé : les octets transférés vers la destination.
Reçu : les octets reçus sur l’hôte.
Octets/s : le débit de transfert effectif.
Taille totale : la taille des données qui auraient été envoyées sans rsync. Lors des exécutions suivantes de rsync, il ne transférera que les différences. Ce chiffre représentera les données qui n’ont pas eu besoin d’être transférées.
Accélération : le rapport entre la quantité de données qui a dû être envoyée et la taille totale. Si rsync doit copier tous les fichiers dans leur intégralité (la première fois par exemple), l’accélération sera de 1.0. Lors des utilisations ultérieures, il optimisera les transferts en n’envoyant que les différences entre les fichiers. Les fichiers inchangés seront ignorés. Le chiffre de l’accélération indiquera le rapport entre la petite quantité de données qui a dû être transférée et la taille totale des fichiers.

Utilisation de l’option de progression

L’option `-P` (progression) affiche un rapport de progression après chaque fichier copié.

rsync -raP /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Les informations de progression sont affichées entre chaque fichier copié.

Les informations fournies sont :

Taille en octets : les données transférées pour ce fichier.
Pourcentage : le pourcentage du fichier transféré.
B/s : le débit de transfert.
Temps restant : le temps estimé restant pour le transfert de ce fichier.
xfr # : le nombre de fichiers transférés jusqu’à présent.
to-chk : le nombre de fichiers restant à vérifier et à optimiser par les algorithmes de rsync.

Augmenter la vitesse

Pour accélérer les transferts, utilisez l’option `-z` (compression). Cela compresse le fichier lors du transfert, mais le fichier est stocké non compressé dans le répertoire de destination.

L’option de compression n’apportera pas d’avantages significatifs pour les transferts impliquant de nombreux petits fichiers. Pour les ensembles de fichiers plus volumineux, cela peut réduire le temps de transfert de manière notable.

Nous utilisons également l’option `–partial` ici. Par défaut, rsync supprime les fichiers partiellement transférés en cas de problèmes réseau. L’option `–partial` force rsync à conserver ces fichiers. Ainsi, lors de la prochaine exécution de rsync, il n’aura pas à retransférer les parties de fichiers déjà présentes.

Notez qu’il est préférable de ne pas utiliser cette option s’il y a un risque que quelqu’un accède aux fichiers partiellement transférés.

rsync -ravz  --partial /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Dans notre exemple, les gains sont minimes.

Le taux d’accélération s’est amélioré de quelques centièmes de pourcent ! Dans un cas réel, vos gains de vitesse seront bien plus importants.

Utilisation de rsync sur un réseau

Jusqu’à présent, nous avons utilisé une clé USB externe. Pour utiliser un emplacement réseau comme destination de sauvegarde, il suffit d’utiliser son chemin sur la ligne de commande. Dans notre exemple, nous avons un périphérique de stockage en réseau (NAS) connecté au réseau.

Nous pouvons utiliser la même méthode que précédemment pour identifier le chemin d’accès au NAS, en passant la souris sur la connexion dans Nautilus.

Il n’y a pas d’options spécifiques pour une sauvegarde sur un réseau, nous allons utiliser les mêmes options que celles vues précédemment.

rsync -ravz  --partial /home/dave/Documents/ /media/dave/NAS/dave/backups/

Le format de la sortie ne change pas.

Sans surprise, le débit en Octets/s est considérablement amélioré.

Si nous exécutons à nouveau rsync, nous pouvons constater qu’il n’y a pas de fichiers à transférer car rien n’a changé, mais il y a tout de même des octets transférés dans les deux sens. Il s’agit des informations nécessaires pour comparer la liste de fichiers sur la destination et celle de la source.

Le taux d’accélération est bien meilleur dans ce cas. Vos gains de performances se situeront entre ces deux exemples.

Utilisation de rsync sur SSH

rsync prend en charge les sauvegardes via une connexion SSH. Il faut spécifier le nom de l’utilisateur et l’adresse SSH sur la ligne de commande. Ici, nous utilisons un nom de réseau, mais une adresse IP fonctionne également.

Remarquez le « : » entre les informations de connexion SSH et le chemin réseau sur la destination distante.

rsync -ravz  --partial /home/dave/Documents/ dave@sulaco.local:/home/dave/Backups/

Le mot de passe du compte utilisateur sur la machine distante vous sera demandé. Il ne s’agit pas de votre mot de passe sur la machine source.

La sauvegarde s’effectue comme d’habitude. Le débit est moins rapide qu’une connexion réseau classique en raison du chiffrement et du déchiffrement effectués pendant la connexion SSH.

Automatisation des sauvegardes

Il est facile d’automatiser les sauvegardes en ajoutant des entrées à votre fichier crontab.

crontab -e

Nous allons programmer une sauvegarde automatique chaque jour à 04h30 (si l’ordinateur est allumé à ce moment-là, bien entendu). La syntaxe de la commande rsync reste la même.

Ctrl+O enregistre les modifications dans le fichier et Ctrl+X ferme l’éditeur nano.

Une interface conviviale pour rsync

Pour ceux qui préfèrent éviter la ligne de commande, de nombreux programmes proposent une interface graphique pour rsync. Deux bons exemples sont luckyBackup et Grsync. Ces deux programmes permettent de configurer les nombreuses options de rsync via l’interface utilisateur.

Grsync est conçu pour être une interface visuelle directe pour rsync. Il offre un accès facile aux options et ajoute peu de fonctionnalités supplémentaires.

luckyBackup est bien plus qu’une simple interface pour rsync. Il s’agit d’un programme de sauvegarde qui utilise rsync en interne. Par exemple, luckyBackup peut créer plusieurs « instantanés » de votre sauvegarde. Vous pouvez ensuite « revenir » à des versions précédentes des fichiers.

Installation de Grsync

Pour installer Grsync sur Ubuntu, utilisez cette commande :

sudo apt-get install grsync

Pour installer Grsync sur Fedora, utilisez cette commande :

sudo dnf install grsync

Pour installer Grsync sur Manaro, utilisez cette commande :

sudo pacman -Syu grsync

Installation de luckyBackup

Pour installer luckyBackup sur Ubuntu, utilisez la commande suivante :

sudo apt-get install luckybackup

Pour installer luckyBackup sur Fedora, utilisez la commande suivante :

sudo dnf install luckybackup

Sur Manjaro, vous devrez installer luckyBackup depuis le Dépôt d’utilisateurs Arch (AUR). Vous pouvez le faire avec le gestionnaire de paquets pamac.

Ne prenez pas de risque, sauvegardez vos données régulièrement

Les sauvegardes sont primordiales. Effectuez des sauvegardes fréquentes, vers de nombreux emplacements et sur différents supports. Une fois configuré, rsync peut s’occuper de tout cela pour vous.