1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| #!/bin/bash
date=$(date +%Y%m%d%H%M)
log=/home/user-ingest/listerfichiers/log/fichierlog_$date.txt
repRecherche=/sftpusers/
#######################################################
# Titre avec Date en en-tête du fichier log
#######################################################
now="$(date +'%A %d %B %Y %H:%M')"
titre="Fichier log du $now"
#######################################################
# Mise en Forme centrée de l'entete du fichier log
#######################################################
center() {
termwidth="$(tput cols)"
padding="$(printf '%0.1s' ={1..500})"
printf "%*.*s %s %*.*s\n\n\n" 0 "$(((termwidth-2-${#1})/2))" "$padding" "$1" 0 "$(((termwidth-1-${#1})/2))" "$padding"
}
center "$titre" > "$log"
#######################################################
# Existence de fichiers ou non
#######################################################
if [ -z "$(find "$repRecherche" -maxdepth 4 -type f 2>/dev/null)" ]; then
echo -e "\e[1;31mPas de fichiers trouvés\e[0m \n\n "
else
echo -e "\e[1;31mDes fichiers existent\e[0m \n\n "
fi
#######################################################
# Informations sur les fichiers
#######################################################
infos_compteurs() {
find "$repRecherche" -maxdepth 0 -type d | while read dossier; do
echo -e "\e[1;33mIl y a `find "$dossier" -type f 2>/dev/null | grep "data" | wc -l` fichiers trouvés dans l'arborescence sftpusers/user-XXXX/data \e[0m \n\n" ######tous les fichiers#########
done
}
infos_presence_fichiers() {
today="$(date '+%s')"
while read fic; do
datedernieremodific="$(stat --format "%Y" "$fic")"
ecart=$((($today - $datedernieremodific) / 86400))
echo -e "nom du fichier : $fic"
echo -e "date dernier acces du fichier : $(stat --format "%.19x" "$fic")"
echo -e "durée de présence en jours : $ecart\n\n"
done
}
######################################################
# Parametres du script
######################################################
while getopts u:a:f: env
do
case "${env}" in
u) dev=${OPTARG};;
a) devcnt=${OPTARG};;
f) int=${OPTARG};;
esac
done
echo "environnement: $dev";
echo "environnement: $devcnt";
echo "environnement: $int";
######################################################
# Envoi des résultats trouvés vers le log
######################################################
find "$repRecherche" -type f 2>/dev/null | grep "data" | infos_compteurs >> "$log" ######tous les fichiers#########
find "$repRecherche" -type f 2>/dev/null | grep "data" | infos_presence_fichiers >> "$log" ######tous les fichiers#########
more "$log"
cp $log /home/user-ingest/listerfichiers/log/fichierlog_saagie.txt |
Partager