#!/bin/bash # ================================================== # Nom : purge_file.sh # Objet : purge de fichier # Auteur : FAIVELEY - DIGORA # Cree le : 01/01/2010 # Modifié par : EF le 23/02/2012 # Syntaxe : purge_file.sh repertoire_cible nb_de_jours # ==================================================
# ---------------------------------- # Fonction d'affichage de la syntaxe # ---------------------------------- syntaxe() { echo "Usage : $0 repertoire_cible nb_de_jours" }
# -------------------------- # Verification de la syntaxe # -------------------------- if [ $# -ne 3 ] then echo "==================================================" echo "ERREUR : Nombre d'arguments incorrects !" syntaxe echo "==================================================" exit 1 fi
# ---------- # Traitement # ---------- w_rep_purge=$1 w_jour_purge=$2 w_extension=$3 echo w_rep_purge = $1 echo w_jour_purge = $2 echo w_extension = $3
w_prog=`basename $0 .sh` w_date=$(date '+%Y_%m_%d_%H_%M_%S')
w_log_dest=/exploit/logs w_log_file=${w_log_dest}/${w_date}_${w_prog}.log echo " " echo fichier log : $w_log_file
w_rep_purge=`dirname ${1}/toto`
{ echo `date +"%Y-%m-%d %H:%M:%S"` "- Debut purge du repertoire [${w_rep_purge}] pour les fichiers modifies il y a [${w_jour_purge}] jours ..."
# Recherche et supression des fichiers dans le rep w_rep_purge et qui ont ete modifies il y a $w_jour_purge jours # # ------ Modifié + par : EF le 23/02/2012 # ------ on traite tous les extensions de fichier. # #if [ "${w_rep_purge}" = "${w_log_dest}" ] #then # for v_fic in `find ${w_rep_purge}/ -type f -mtime ${w_jour_purge} -name "*.e"` # do # echo " - Suppression du fichier [${v_fic}] ..." # rm -f ${v_fic} # done # for v_fic in `find ${w_rep_purge}/ -type f -mtime ${w_jour_purge} -name "*.o"` # do # echo " - Suppression du fichier [${v_fic}] ..." # rm -f ${v_fic} # done # for v_fic in `find ${w_rep_purge}/ -type f -mtime ${w_jour_purge} -name "*.${w_extension}"` # do # echo " - Suppression du fichier [${v_fic}] ..." # rm -f ${v_fic} # done #else # for v_fic in `find ${w_rep_purge}/ -type f -mtime ${w_jour_purge} -name "*.${w_extension}"` for v_fic in `find ${w_rep_purge}/ -type f -mtime ${w_jour_purge} -name "*.*"` do echo " - Suppression du fichier [${v_fic}] ..." rm -f ${v_fic} done #fi # Modifié - par : EF le 23/02/2012
echo `date +"%Y-%m-%d %H:%M:%S"` "- Fin purge du repertoire [${w_rep_purge}] !" } >${w_log_file} 2>&1
# Pause de 10 secondes : NE PAS SUPPRIMER sleep 10
cat $w_log_file