#!/opt/bin/bash # uncomment the following to have bash output every command before executing it #set -x #fix the path PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin:/volume1/@appstore/java7/jre/bin # Options utilisées pour tar TAROPTS="-cjf" # Nombre de jours à conserver j=50 # Date du jour NOW="$(date +"%Y-%m-%d")" # Emplacemment du dossier de backup local DEST="$2" # Le nom du fichier tar qui sera créé file=$3 # On cree le répertoire du jour à la destination [[|! -d $DEST/$NOW ]] && mkdir -p $DEST/$NOW # Si un backup du même jour existe, on le renome [[|-f $DEST/$NOW/$file ]] && mv $DEST/$NOW/$file $DEST/$NOW/$file.bak # On se déplace dans le répertoire à sauvegarder cd $1 # On lance le backup : /opt/bin/tar $TAROPTS $DEST/$NOW/$file * #nbre de jour de backup a conserver j_a_delete=$(date +%Y-%m-%d --date "$j days ago") # Suppression des anciennes sauvegardes rm -rf $DEST/$j_a_delete/* rmdir $DEST/$j_a_delete