#!/bin/bash

setup_lockfile(){
# set name of this program’s lockfile:
MY_NAME=`basename $0`
LOCKFILE=/tmp/lock.${MY_NAME}
# MAX_AGE = nombre de jours sans faire de backup
MAX_AGE=3
echo “Nom du fichier de lock = ${LOCKFILE}”
echo “Periode sans backup en jours = ${MAX_AGE}”
sleep 1
}

check_lock(){
# Si fichier de lock de moins de 7 jours, alors pas de backup
if [[ `find ${LOCKFILE} -mtime -${MAX_AGE}` > “0” ]]; then
 echo “Fichier Lock de moins de 7 jours : Pas de Backup”
 exit 1
fi
}

create_lock(){
# ok to carry on… create a lock file – quickly 😉
touch ${LOCKFILE}
# check we managed to make it ok…
if [ ! -f ${LOCKFILE} ]; then
echo “Unable to create lockfile ${LOCKFILE}!”
exit 1
fi
echo “Created lockfile ${LOCKFILE}”
}

cleanup_lock(){
echo “Cleaning up… ”
rm -f ${LOCKFILE}
if [ -f ${LOCKFILE} ]; then
echo “Impossible de supprimer le fichier de lock : ${LOCKFILE}!”
exit 1
fi
echo “Le fichier de lock ${LOCKFILE} a ete efface.”
}

setup_lockfile
check_lock
create_lock

# Any calls to exit() from here on should first call cleanup_lock
# Do main processing tasks here…
#
# Sauvegarde des fichiers MaJ depuis moins de 7 jours dans un dossier horodate = date du jour
BACKDIR=/home/${MY_NAME}
BACKDIRDAY=$BACKDIR/sauve-$(date +"%d")   ###  1 fichier par numero de jour (cf rotate) ...  BACKDIRDAY=$BACKDIR/$(date +"%Y-%m-%d")  ferait un  fichier par jour !
JOBDIR=/home/pjm
# On efface le dossier avant de le créer à nouveau : pour ne pas cumuler le contenu !
if [ -d  $BACKDIRDAY ]; then 
  rm -rf $BACKDIRDAY
fi
if [ ! -d  $BACKDIRDAY ]; then
  mkdir -p $BACKDIRDAY
fi
find  $JOBDIR/Documents -type f -mtime -2  -size -100M -exec cp -a {} $BACKDIRDAY \;
find  $JOBDIR/Images    -type f -mtime -2  -size -100M -exec cp -a {} $BACKDIRDAY \;
echo “Sauvegarde dans le dossier : ${BACKDIRDAY}”


