Bonjour la communauté,
Je cherche à affiner le script suivant mais pour lequel je n'arrive pas à avoir le rendu final correct.
En somme, je voudrais passer des paramètres au script ingest_scriptlisterfiles2.sh pour différents environnements.
J'explique pour une meilleure compréhension en tapant par exemple : ./ingest_scriptlisterfiles2.sh dev ou devcnt ou int je veux que le script en s'exécutant sélectionne indépendamment l'un de l'autre soit l'environnement dev ou devcnt ou int située sous l'arborescence /sftpusers/user-*/data/dev ou /sftpusers/user-*/data/devcnt ou /sftpusers/user-*/data/int
J'ai trouvé des petites choses sur la toile mais ceci ne fonctionne visiblement pas dans l'application puisque les fichiers ne sont pas filtrés en fonction de l'environnement dev devcnt ou int
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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