Sélectionner une page

Vous le savez sans aucun doute, mais un problème récurrent dans notre univers et d’avoir des sauvegardes de ses systèmes. Concernant les serveurs, un rsync bien configuré avec cron fait parfaitement le boulot (la sauvegarde des serveurs fera l’objet d’un prochain article). Mais il est parfois plus compliqué de le faire sur un ordinateur portable, car il n’est pas forcément branché sur un espace de stockage en permanence.

Voici un petit script pour Linux qui vous permettra de lancer une sauvegarde sur un disque dur externe. Il vous suffit de changer les paramètres suivants :

  • DEST=  – indiquer ici le chemin vers votre disque dur externe, vous devez normalement le voir apparaître dans /media/ quand vous le branchez.
  • HOST= »laptop » – indique le nom du dossier des sauvegardes, si vous le laissez comme cela, le nom sera sous la forme « laptop+date »
  • vous pouvez empêcher des dossiers d’être transférés avec rsync via l’option –exclude, comme vos dossiers de musiques et de films (comme vous pouvez le voir dans l’exemple), n’hésitez surtout pas à ajouter ce que vous voulez.
#!/bin/sh                                                                                                                                                                                                          

# Paramètres du backup : 
# Vers quel disque dur 
DEST=/media/octobackup/
# Nombre de jours au-delà duquel on supprime les anciens backups
DAYS=300
# Nom de votre ordinateur (pratique si vous en avez plusieurs)
HOST="laptop"

RSYNC_OPTIONS="-P -H"
if [ ! -d "$DEST" ]
then
  echo "Disque de sauvegarde non monté !"
  exit 1
fi
# On backup dans un dossier <host>_<date>
NOW="${HOST}_`date +%Y%m%d`"
LINKDEST=""
for i in `ls -rt $DEST|tail -3`
do
if [ "$i" != "$NOW" ]
    then
    LINKDEST="$LINKDEST --link-dest $DEST/$i/"
    fi
done

mkdir "$DEST/$NOW"
rsync / $DEST/$NOW/ -a --delete --numeric-ids --exclude "home/octopuce/Musique" --exclude "home/octopuce/Vidéos" --exclude "proc/*" --exclude "sys/*" --exclude "dev/*" --exclude "home/skhaen/.gvfs" --exclude "media/*" --exclude "/mnt/" $LINKDEST $RSYNC_OPTIONS
touch "$DEST/$NOW"
 
# Ensuite on fait du ménage : effacement des dossiers de plus de X jours
echo "Cleanup ..."
find "$DEST" -maxdepth 1 -mindepth 1 -type d -mtime +$DAYS -print -exec rm -rf {} \;

Si vous ne savez comment le mettre en place, vous pouvez faire ceci :

wget https://github.com/octopuce/octopuce-goodies/blob/master/octobackup/backup.sh
mv backup.sh /usr/local/bin
chmod +x /usr/local/bin/backup.sh

Modifiez le ensuite à l’aide de votre éditeur de fichiers favori. Le script pourra alors être lancé de n’importe où sur le système, ce que vous pourrez faire quand votre disque dur externe sera branché.

Note : tous les codes de nos scripts pour administrateurs système sont publiés sous licence CC0 dans un dépôt git public.

Avec du chiffrement

Par ailleurs, nous recommandons vivement de protéger votre disque de sauvegarde par une phrase de passe : en effet, vous ne voulez pas que n’importe qui puisse brancher ce disque sur un ordinateur et accède ainsi à toutes vos données personnelles !

Pour ce faire, nous utilisons, sur Debian / Ubuntu & autres Linux, l’utilitaire de disque, (accessible dans Applications puis Accessoires). Branchez votre disque USB, puis choisissez de créer une partition (ou formater la partition existante). Un panneau similaire à celui-là apparaîtra. Cochez la case « chiffrer le périphérique correspondant »

Creation d'une partition chiffrée

Ensuite, l’utilitaire vous demandera de saisir la phrase de passe du disque, qu’il ne faudra surtout pas oublier !

Creation d'une partition chiffrée

Ainsi, à chaque fois que vous brancherez ce disque, gnome vous demandera sa phrase de passe pour le déverrouiller. Vos sauvegarde seront au chaud et en sûreté !

 

Image Copyright Kenny Louie | CC BY 2.0