Sauvegarde unidirectionnelle Rsync

Rsync est utilisé pour synchroniser des données de manière incrémentielle ou décrémentielle.

#!/bin/bash
 
# Source du backup
SRC=~/Téléchargements/
# Destination du backup
DST=~/Bureau/backup
 
# Si la source existe
if test -d $SRC ; then
 
  # Si la destination existe
  if test -d $DST ; then
    echo "Backup en cours..."
    # Les deux dossiers existent, on faire alors le transfert
    rsync -rtv --delete $SRC $DST
    echo "Backup terminé"
 
  # Sinon, la destination n'existe pas
  else
    echo "La destination est introuvable, le backup ne peut pas être effectué."
  fi
 
# Sinon, la source n existe pas
else
  echo "La source n'exite pas, le backup ne peut pas être effectué."
fi

Backup à distance

Admettons que nous voulons faire un backup dès qu'il y a un mouvement dans un dossier spécifique :

#!/bin/bash
 
dir="/home/bruno/Documents"
target="user@serveur:/mnt/md2/sync/"
 
while r=$(inotifywait -r -e modify,create,delete,move ${dir}); do
 
    rsync -avz ${dir} ${target}
done