Aide script bash

Michel17 Messages postés 2 Statut Membre -  
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,
Je suis sous linux.
Le bash suivant supprime des anciens fichiers correspondant à un critère de date ( - 1mois). Il efface des logs du mois précédent. Jusque là il n'y a pas de problème ça fonctionne. J'aimerai que les critères s'étendent sur les 11 mois c'est à dire pour une période de -1 à -11. Pouvez-vous m'aider ?
Voici le fichchier:

#!/bin/bash
LOGFILEPATH="/perso/log"
DATE=`date +%Y%m`
if [ `echo $DATE | cut -b 5-` -ne '01' ]; then
let DATE=$DATE-1
else
let DATE=$DATE-89
fi

LOGFILES=log`echo $DATE | cut -b 4-`'??.txt'
rm $LOGFILEPATH/$LOGFILES

Cordialement, Michel
A voir également:

3 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Une piste :
[tmpfs]$ date '+%A %d %B %Y'
jeudi 15 mai 2008

[tmpfs]$ date -d '11 months ago' '+%A %d %B %Y'
vendredi 15 juin 2007
;-))
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Une autre piste :
[tmpfs]$ DATE=$(date +%Y%m)
[tmpfs]$ echo ${DATE}
200805

[tmpfs]$ echo ${DATE: -2}
05

[tmpfs]$
;-))
0
Michel17 Messages postés 2 Statut Membre
 
Bonjour jipicy,
Merci pour la réponse rapide. Je suis un novice en la matière.
J'ai essayé avec les pistes proposées mais ça ne marche pas. Les fichiers sont stockés sous la forme log80430.txt.
Dans mon exemple le fichier du mois précédant s'efface bien mais pas ceux avant log80430.txt tel que par ex log80320.txt etc...
Merci encore pour cette aide.
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Affiche un listing du répertoire où sont stockés tes fichiers et dis-nous exactement ce que tu veux, si possible concrètement, avant => après...
0