#! /bin/bash

# sauvliens_stop.sh v1.2
# pour créer des liens en dur faisant office de 'sauvegarde' contre les effacements accidentels 
# dans le cas particulier des fichiers créés depuis moins de cinq minutes à l'arrêt du système


# suppose et complète l'usage du script sauvliens.sh lancé toutes les cinq minutes par crond


# bien penser à renseigner et mettre à jour dans ce script la variable LISTE_REP 
# avec les chemins des répertoires à protéger


IFS=':'

# liste des répertoires à protéger (séparés par ":")
LISTE_REP="/etc:/home/cassian:/home/glin"

# variable abritant le nom du répertoire contenant les liens
# (ce nom est le même pour tous les utilisateurs y compris root) 
# si vous le modifiez, modifiez-le aussi dans sauvliens.sh
NOM_DIR_LIENS=".sauvliens"

for liste in $LISTE_REP 
  do
  DIR_A_SAUVER="$liste"
  DIR_LIENS="$DIR_A_SAUVER/$NOM_DIR_LIENS" # chemin complet du répertoire contenant les liens

  if [ ! -e "$DIR_LIENS" ] ; then # passe au rep suivant si le répertoire des liens n'existe pas
	echo -e "Penser à lancer le script sauvliens.sh avec l'argument init \
pour sauvegarder tous \nles fichiers de $liste !!"
        continue
  fi

  cd $DIR_A_SAUVER

find . -path "./$NOM_DIR_LIENS" -prune -o -type d  -mmin -5 -print -exec mkdir ./$NOM_DIR_LIENS/{} \;
find . -path "./$NOM_DIR_LIENS"  -prune -o -type f  -mmin -5 -print -exec ln -f {} ./$NOM_DIR_LIENS/{} \;
   

  done

exit 0
