Bonjour,

Je suis en train de faire un script ksh afin de définir une date de purge.
J'ai dans ma base 3 durées de conservations des données différentes (variable selon les tables à purger).

Pour calculer la date au delà de laquelle je dois supprimer les données (date <= 'date_purge'), j'avais commencé à utiliser ceci :

Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
date --date "36 months ago"

Sauf que j'aimerai que ce 36 soit paramétrable selon la table que je dois purger.

Code shell : 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
 
# Je récupère mes 3 durées de conservations dans des variables
DUREE_CONS_B=`sqlplus -s $ST_USERNAME/$ST_PASSWD$ST_DATABASE << EOF
	select duree from table where cle='SPEPurgB';
EOF`
 
DUREE_CONS_A=`sqlplus -s $ST_USERNAME/$ST_PASSWD$ST_DATABASE << EOF
	select duree from table where cle='SPEPurgA';
EOF`
 
DUREE_CONS_O=`sqlplus -s $ST_USERNAME/$ST_PASSWD$ST_DATABASE << EOF
	select duree from table where cle='SPEPurgO';
EOF`
 
#Et je calcule la date de début de purge pour la table de type A
date --date "${DUREE_CONS_A} months ago" >> DATE_PURGE_A
#Table de type B
date --date "${DUREE_CONS_B} months ago" >> DATE_PURGE_B
#Table de type O
date --date "${DUREE_CONS_O} months ago" >> DATE_PURGE_O

sauf que ça ne marche pas. Est-ce qu'il y a un système ?

Où il faut que je fasse complètement différement ?

Merci par avance pour vos réponses