#!/bin/bash if [ ! -e $SOURCE ] then echo "$SOURCE n'existe pas !" exit 1 fi export LADATE=`date +%Y%m%d` export HIER=`date +%Y%m%d -d "1 day ago"` export LEJOUR=`date +%d` export TODELETE=`date +%Y%m%d -d "3 months ago"` DESTINATION=`basename $SOURCE` if [ -d $TARGET/$LADATE/$DESTINATION ] then echo "ALREADY DONE : $TARGET/$LADATE" exit 0 fi if [ ! -d $TARGET/$HIER/$DESTINATION ] then # Le backup d'hier n'existe pas # PC éteint, problème backup, etc. # On prend le dernier backup comme référence echo "NOT FOUND : $TARGET/$HIER/$DESTINATION" LAST_ONE=`ls -tr $TARGET | tail -n 1` echo $LAST_ONE if [ ! -d $TARGET/$LAST_ONE/$DESTINATION ] then echo "SECOND CHANCE, NOT FOUND : $TARGET/$LAST_ONE/$DESTINATION" exit 1 fi mv $TARGET/$LAST_ONE $TARGET/$HIER ln -s $TARGET/$HIER $TARGET/$LAST_ONE fi if [ -d $TARGET/$TODELETE/$DESTINATION ] then rm -rf $TARGET/$TODELETE/$DESTINATION fi echo $TARGET/$LADATE/$DESTINATION mkdir -p $TARGET /usr/bin/rsync -a --no-o --delete --safe-links $EXCLUDED_DIRS --link-dest=$TARGET/$HIER/ $SOURCE $TARGET/$LADATE/ echo "DONE"