Bonjour la communauté
Je me décide à poster car après a voir essoré Google, je n'arrive pas à trouver une manière de faire
L'objectif est simple : supprimer tous les fichiers log qui ont plus de 6mois (à savoir que plusieurs dizaine de fichier log sont généré par jour)
Format des fichiers log : [LOG][160908]__2023-11-15_14-10-01_nom_du_job.log
- tFileList check mon répertoire
- tIterateToFlow me renvoi le nom des fichiers
- tSetGlobalVar créer la variable date6m contenant la date du jour -6mois : TalendDate.addDate(TalendDate.getDate("yyyy-MM-dd"), "yyyy-MM-dd", -6, "MM") --> 2023-04-15
- tMap pour filtrer
-> et c'est à partir d'ici que ça coince
Avec StringHandling.SUBSTR(row3.nom_fichier, 16, 10) je récupère la date contenu dans le nom --> 2023-11-15
Dans l'idée, il faut donc que
Si StringHandling.SUBSTR(row3.nom_fichier, 16, 10) > (String)globalMap.get("date6m")) -> envoi du fichier vers un tDelete
J'ai testé pas mal de possibilités (compareDate/diffDate/ avec des parseDate), toutes ko, mais maintenant je sèche
Si qqun avait une idée ....
Par avance merci





Répondre avec citation







Partager