Menage
Indice NDT
(D)ifficulté : Simple, Moyenne, Complexe.
(T)emps estimé pour la réalisation.
Utilisateur | Technicien | Expert |
Simple | Moyenne | Complexe |
– d’une heure | + de 5 heures | 12 heures et + |
OcM
Contexte de la réalisation.
Modalité de l’éxécution.
Faire place nette ! Trop souvent on oublie et on laisse passer le temps jusqu’à ce jour où il faut s’attaquer à ce fameux ménage des fichiers à supprimer dans un dossier. Typiquement le dossier « download / téléchargement » est un exemple adapté. La perle rare est isolée et déplacée vers un autre quant au reste… Menage a pour vocation d’appliquer ce nettoyage de fond en s’appuyant sur la dernière date de modification. Le principe est :
« si tu es là depuis x jours dans ce dossier, c’est tu n’as pas vocation à y rester ! »
C-I-P-E
Dans les onglets suivants on retrouve les éléments pour le (C)ontenu son (I)nstallation, son (P)aramètrage et enfin son (E)xploitation.
Menage est un script bash composé :
- du script – Menage
- du fichier de paramètrage – Param.txt
Le script s’appuie sur le fichier de paramètrage pour plus facilement installer et adapter le script bash à tous et dans toutes situations. (pas besoin d’un accès telnet/ssh au NAS pour installer, paramètrer et exploiter Menage)
Prérequis :
- Paquet PHP installé (si PhotoStation et/ou WebStation présents, alors PHP l’est aussi)
- Notification des mails paramètrée dans le panneau de configuration
On installe le script et son fichier de paramètrage dans un dossier du NAS.
Ce dossier n’est pas le dossier visé pour le « nettoyage ».
Idéalement un dossier personnel type admin ou utilisateur (dans homes/user)
Une fois déposé et paramétré .. on y accède plus.
exemple :
un dossier spécifique dans le dossier run d’admin donc un chemin global qui peut être :
/volume1/homes/admin/run/menage
C’est dans le fichier param.txt que cela se passe !
Comme son nom l’entend, il s’agit d’un fichier texte modifiable avec n’importe quel éditeur. (on évitera word…)
ATTENTION : les paramètres sont inscrits à des numéros de ligne précis. Il faut éviter les retours chariots.Que se passe-t-il si le paramètre n’est pas trouvé ou incomplet, incohérent ou à la ligne du dessous…
Un contrôle des paramètres est réalisé tant sur leur cohérence (présence d’une corbeille si souhaitée), comme aussi l’existence du dossier visé. Le traitement ne se poursuit QUE si le fichier de paramètrage est correctement renseigné. Dans le cas contraire, le fichier de trace TR_param.txt généré dans le dossier d’exécution renseigne sur les informations manquantes et/ou erronées.
Les Paramètres
– Variable : DOSS_CIB
– Dossier cible à nettoyer
– Format : /volume1/depot/cargo/web
– Ligne 15
– Un contrôle est fait sur la non appartenance à un dossier racine du NAS
#—————————————————-
– Variable : DT_MEN
– Nombre de jours depuis la dernière modification
– Format numérique entier : 10
– Ligne 25
– Contrôle de cohérence effectué.
#—————————————————-
– Variable : REP_DATA
– Dossier d’exécution du programme
– Format : /volume1/homes/moi/monscript
– Ligne 35
– Un contrôle est fait sur la non appartenance à un dossier racine du NAS
#—————————————————-
– Variables : email
– Destinataire et expéditeur (suppose que le paramètrage d’envoi soit fait par avance –)
– Ligne 45 et 55
– format email
– Contrôle de cohérence réalisé
#—————————————————-
– Variable : CORB
– Format : chemin de la corbeille concernée, type /volume1/web/#reclycle
– Ligne : 65
– Un contrôle est fait sur son existence
#—————————————————-
– Variable PCC (prise en charge corbeille)
– Même si corbeille présente, permet de dire si on l’utilise ou pas avec Menage
– Valeur numérique : 1 oui 0 non
– Ligne 75
– Contrôle de cohérence fait sur sa justification.
#—————————————————-
A noter : En général la corbeille est située à la racine du dossier visé sauf pour HOMES où, si activée, elle se trouve à la racine de chaque utilisateur concerné.
Afin d’exécuter le script on l’ajoute au planificateur des tâches.
Les traces
Sont générées dans le dossier d’exécution les fichiers suivants :
– F_init
– Trace la bonne installation (paramètrage OK date d’initialisation correcte)
– Si absent il est généré à la 1ere exécution.
– TR_param.txt
– Trace la bonne lecture et interprétation des paramètres de param.txt
– Si absent est généré à chaque exécution (si changement de paramètrage param.txt)
– Permet d’investiguer si une erreur est trouvée dans le fichier de paramètrage
– TR_ficsuppr
– Liste des fichiers nettoyés (déplacés/supprimés)
– TR_smtp.txt
– Vérification des fichiers de paramétrage d’envoi de mail.
– TR_message.txt
– Le Message constituant le mail envoyé (ou pas mais qui est toujours généré)
Composé de 3 fichiers
- Menage le script Bash – V2.1
- Param.txt le fichier de paramètrage à amender
- Menage pdf la notice complémentaire
FAQ
Les principales questions/réponses collectées sur le sujet et/ou les éventuelles évolutions.
Mouais… Joli et sympa mais une ligne de commande et le tour est joué non ?
find . -mtime +30 -exec rm {} \
Bonjour ZorbaleGeek,
oui il est toujours possible de faire plus simple surtout en shell. Mais mon postulat est :
– je ne suis pas un expert en bash
– je m’adresse à un public qui l’est parfois encore moins
Bravo !
Oui on peut toujours faire mieux… Mais il faut le faire !
Là c’est simple et efficace. J’aime bien la sécurité qui m’interdit les 1ers niveaux du NAS et j’adore l’adaptabilité du process selon chaque situation.
Adopté immédiatement pour des dossiers de téléchargement de mes utilisateurs.
MERCI