############################################################################### # # # MyPurgeLogs.sh : Script de purge automatisée des logs. # # # # +---------------------------------------------------------------------+ # # | Copyright (c) 2005/2006 Flyounet | # # +---------------------------------------------------------------------+ # # | This program is free software; you can redistribute it and/or | # # | modify it under the terms of the GNU General Public License (GPL) | # # | as published by the Free Software Foundation; either version 2 | # # | of the License, or (at your option) any later version. | # # | The GPL can be found at http://www.gnu.org/licenses/gpl.html | # # +---------------------------------------------------------------------+ # # | Author: Flyounet | # # +---------------------------------------------------------------------+ # # # ############################################################################### # # # v0.01 [28/08/2005] Flyounet : # # > Initiale Release # # v0.02 [17/10/2005] Flyounet : # # * Modification pour prise en compte du fichier de conf. # # + Vérifie le répertoire en cours pour trouver un fichier de conf # # à éxecuter plutôt que celui en local. # # Vérifie si le fichier/flag de non fonctionnement est présent. # # + Execute_Rotation : Ajout d'un _ dans les noms des archives pour le # # test de présence fichier. Si on a dans access et access_log. # # + Ajout du --FORK pour relancer bypassé le test de lancement. # # v0.03 [18/10/2005] Flyounet : # # * Execute_Rotation : Si la place dispo dans le répertoire est infé- # # rieure à la taille du fichier à traiter, alors on copie dans /tmp. # # > Ajout de la TotoListe. # # * help : Mise à jour avec les nouveaux paramètres et les flags. # # v0.04 [21/10/2005] Flyounet : # # + Execute_Rotation : Supprime les fichiers indiqués dans la conf si # # le flag TypeAction=purge est utilisé. # # + Verify_FileConf : Vérifie maintenant le TypeAction et les arguments # # correspondants. # # * Main : Sortie du Verify_FileConf du test de Flag (fait gagner 2 # # lignes : Wouhahaha). # # v0.05 [24/10/2005] Flyounet : # # * Ajout de Debug dans les fonctions. Utilisable via un FLAG. # # + Ajout du numéro de version avec le paramètre --version. # # # # # ############################################################################### # # # Todo : # # > Vérifier la taille restante du FS en utilisant FSMin. Si la taille n'est # # minimum n'est pas présente alors supprimer les archives mais en laisser # # au minimum 2. # # > Envoyer un TRAP, si un problème survient. FSFull, Compresseur absent... # # > Modifier le détécteur de lancement de l'application pour voir si le # # script tourne depuis plus d'une heure. Dans ce cas le killer. # # > Gérer un Flag d'arrêt urgence. Gérer un Flag de non démarrage. # # > Utiliser un paramètre pour forcer l'application à s'arrêter (génère un # # Flag d'arrêt utilisateur). # # > Gérer une conf contenant juste un chemin et le fichier, ou un FS. # # -> Ajouter du Debug clair. # # > Mettre en fonction séparée la copie/compression et la purge FS. # # > Faire une Doc ^__^ et un Dossier d'action pour le pilotage T__T # # > Et si tu te remettais au PERL ? # # OK Revoir la fonction d'aide pour indiquer les flags et leur utilisation. # # > Mettre le parsing des arguments dans une fonction. # # OK Changer la lecture de la Conf pour avoir un type de configuration, le # # mode Rotate comme celui implémenter actuellement et le mode purge qui # # prendra juste un fichier et le nombre de jour de rétention le reste sera # # supprimer par un find ... -exec rm. # # > Dans la lecture d'un fichier de conf dans un sous répertoire, prendre en # # charge les + et - devant les nomsde fichier. # # # ############################################################################### # # # Légende : # # + --> Indique une nouveauté, un ajout de fonctionnalité. # # * --> Indique une correction de bogue. # # - --> Indique la suppression d'une fonctionnalité/variable. # # > --> Indique une information n'ayant pas forcément de rapport avec le code # # # ###############################################################################