Mes scripts de backup
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 

49 satır
1.1 KiB

#!/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"