Script Bash de sauvegarde du home sur clef USB

Ce petit script bash utilise rsync et permet de sauvegarder très facilement le dossier /home/utilisateur vers une clé USB ou un disque dur externe.

J'ai fais ce script il y a un petit moment et je l'ai enrichi de quelques fonctions au fil du temps...

Maintenant qu'il me plaît bien et puisque qu'il me rend services, je me suis dis que j'allais le partager sur ce blog, peut être rendra t-il service ailleurs :)

Principe du script :

- On branche le périphérique USB.

- On clique sur le script.

- On attend le temps de la sauvegarde.

- C'est terminé, on peut enlever la clé.

Configuration du script :

- Pour le faire fonctionner il suffit de renseigner dans le script la destination du périphérique de sauvegarde. D'autres options sont disponibles mais ont des valeurs par défauts.

Comportement par défaut du script (facile à modifier) :

- Demande confirmation avant de démarrer la sauvegarde.

- Ne copie que les fichiers qui ne sont pas déjà présent sur la destination (disque externe) sauf si les fichiers de la source (votre home) sont plus récent. (option de rsync)

- Synchronisation dans un seul sens (home vers le disque externe) (option de rsync)

- Exclu les fichiers cachés, dont le nom commence par un point, pour ne sauvegarder que les documents personnels sans les fichiers de configuration. (option de rsync)

- Gestion des droits limités sur les fichiers du média externe pour éviter les erreurs dues au formatage en fat32 de la majorité des clé USB. (option de rsync)

- Propose d'afficher un log en cas d'erreur.

Capture d'écran :

Téléchargement :

Sync-home.sh (ne pas oublier de rendre le fichier exécutable)

ou en une seule ligne de commande :

wget http://wavemaker.free.fr/share/Sync-home.sh && chmod +x Sync-home.sh

Note importante :

Pour fonctionner il faut que ce premier script soit visible dans un terminal.

Pour cela on peut soit:

- L'exécuter en ligne de commande. (./Sync-home.sh)
- Double cliquer sur le fichier et choisir "lancer dans un terminal". (Comportement sous Gnome)
- Créer un lanceur et choisir l'option "Application dans un terminal". (Gnome également)
- Créer un deuxième fichier qui va demander l'ouverture du 1er script dans un terminal. (En théorie, on peut aussi appeler ce second fichier "autorun" ou "autorun.sh" et le placer sur le média de stockage afin qu'il s'exécute dès que le média est monté).

Dans ce cas, si vous utilisez "gnome-terminal" et que vous placez vos scripts dans le dossier "nautilus-scripts" ce deuxième fichier pourra par exemple contenir :

#!/bin/bash
gnome-terminal --geometry "80x20" --hide-menubar --title="Sync-home.sh" -x \\
"/home/$USER/.gnome2/nautilus-scripts/Sync-home.sh"
exit 0

Et voilà, ça sera tout pour aujourd'hui !

Je vous souhaite de bonnes sauvegardes ;)

Vus : 1809
Publié par Wavemaker : 11