#1 Le 10/11/2011, à 11:19
- vajpaille
[RESOLUT]_Script avec commande DATE Hebdo.
Bonjour,
J'ai un soucis avec un script très simple.
Environnement :
Serveur syslog sur lequel je fait des reporting extrêmement simplifié pour le personnel technique.
commande date version 6.10
Bash-3.2
Le script actuel se base sur le log du jour précédent.
J'aimerais effectuer un rapport Hebdo.
Voici la partie du script que je vais devoir modifier.
yesterday=`date -d 'yesterday' +%Y%m%d` # Prend en compte le changement d'année. (en théorie...)
grep -i "Login succeeded" /data/materiel/client/le.log_$yesterday.log
Ce que je souhaite faire c'est effectuer le même reporting sur les logs de tous les jours de la semaine précédente.
je pensais à une boucle for mais je n'arrive pas a générer les dates du lundi au dimanche de la semaine précédente quelque soit le jour d'éxécution du script.
En gros lister les dates en colonne ensuite la boucle se chargera du reste ;-)
Avez-vous une idée pour résoudre mon petit soucis ?
Merci à vous.
Dernière modification par vajpaille (Le 16/11/2011, à 11:00)
GNU/Linux : Ubuntu, CentOS, Red Hat
BSD : OpenBSD, GhostBSD, PC-BSD
Hors ligne
#2 Le 10/11/2011, à 11:43
- Postmortem
Re : [RESOLUT]_Script avec commande DATE Hebdo.
Salut,
for i in {1..7}
do
date -d "$i days ago" '+%Y%m%d'
done
EDIT :
Pour avoir les dates de la semaine précédente, quelque soit le jour où on exécute la commande :
num_jour=$(date +%u)
for i in {0..6}
do
date -d "$((num_jour + i)) days ago" '+%Y%m%d'
done
Dernière modification par Postmortem (Le 10/11/2011, à 11:58)
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#3 Le 10/11/2011, à 12:04
- vajpaille
Re : [RESOLUT]_Script avec commande DATE Hebdo.
Salut,
Effectivement, extrêmement simple... et ça colle à ce que je souhaite, je n'ai plus qu'à intégrer et à tester, c'est vraiment nikel car la semaine dernière est à cheval sur deux mois et
ton code match !
Pour avoir les dates de la semaine précédente, quelque soit le jour où on exécute la commande :
num_jour=$(date +%u) for i in {0..6} do date -d "$((num_jour + i)) days ago" '+%Y%m%d' done
Merci à toi !!!
GNU/Linux : Ubuntu, CentOS, Red Hat
BSD : OpenBSD, GhostBSD, PC-BSD
Hors ligne
#4 Le 10/11/2011, à 14:33
- Postmortem
Re : [RESOLUT]_Script avec commande DATE Hebdo.
De rien !
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne