1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| #! /bin/bash
# declaration des variables
export PATH=$PATH:
INCREMENTDIR=$(date +%Y-%a-%d-%b)
BACKUPDIR=/home/$USER
BACKUPDIR1=/usr/lib/mysql
EXCLUDES=exclude.rsync
ARCHIVEROOT=/archive
OPTIONS="-v --archive --compress --force --owner --group --links --copy-links --backup --backup-dir=$ARCHIVEROOT/$INCREMENTDIR"
MAILADDR=
rsync=/usr/bin/rsync
# Fonction pour le choix des options
function usage
{
echo "usage: $0 {-start | -add | -restore | -delete | --help}" && exit $1
}
while [ $# -ne 0 ];
do
case $1 in
# Exécution de la sauvegarde
-start)
(echo "Starting RSYNC..."
($rsync $OPTIONS $BACKUPDIR $ARCHIVEROOT/$USER-$INCREMENTDIR &&
$rsync $OPTIONS $BACKUPDIR1 $ARCHIVEROOT/$USER-$INCREMENTDIR)
echo "RSYNC finished."
) ;;
# Ajout d'un nouveau repertoire de sauvegarde
-add)
(echo -n "Quel dossier a ajouter?: ";read dossier
echo "Starting add..."
) ;;
# Création du répertoire de sauvegarde
-create)
(#install -d $ARCHIVEROOT/$CURRENT
echo "Starting create..."
mkdir -p /$ARCHIVEROOT/$USER-$INCREMENTDIR
echo "Directory created."
) ;;
# Restauration du repertoire de sauvegarde
-restore)
(echo "Starting RSYNC restore..."
cp -fR $ARCHIVEROOT/$USER-$INCREMENTDIR/ /home/$USER &&
cp -fR $ARCHIVEROOT/$USER-$INCREMENTDIR /var/lib/mysql
echo "Directory restored."
) ;;
# Suppression du repertoire de sauvegarde
-delete)
(echo -n "Quel dossier a supprimer?: ";read dossier
rm -fR $dossier
) ;;
# Commande help
--help|*)
usage 1 ;;
esac
shift
done |
Partager