TailleMax la surveillance d’un dossier du NAS
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.
Dis moi quand tu arrives ou dépasses les 200 Mo !
C‘est ce que propose tout simplement ce script maison. La surveillance d’un dossier du NAS. Certes il existe la notion de quota sur nos NAS Synology mais elle est limitée aux utilisateurs et/ou à des niveaux de dossiers si le format est en BTFRS (pas EXT4).
Suite à une demande dans le forum NAS Synology, je me suis dit que cela pouvait intéresser des personnes.
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.
TailleMax est un script bash composé :
- du script – TailleMax
- 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 TailleMax)
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 n’est pas le visé pour la « surveillance ».
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/TailleMax
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 à surveiller
– Format : /volume1/depot/cargo/web
– Ligne 15
– Un contrôle est fait sur sa présence et cohérence.
#—————————————————-
– Variable : TypeTaille
– Lettre spécifiant l’unité de mesure.
(K)ilo, (M)éga, (G)iga, (T)éra, (P)éta octet.
– Format lettre unique en MAJUSCULE.
exemple : M pour Méga octet
– Ligne 25
– Contrôle de cohérence effectué.
#—————————————————-
– Variable : TailleMax
– Taille maximum atteinte ou dépassée pour l’alerte.
– Format numérique ENTIER : 200
– Ligne 35
– Un contrôle est fait sur sa cohérence.
#—————————————————-
– Variable : REP_DATA
– Dossier d’exécution du programme
– Format : /volume1/homes/moi/monscript
– Ligne 45
– Un contrôle est fait sur son existence.
#—————————————————-
– Variables : email
– Destinataire et expéditeur (suppose que le paramètrage d’envoi soit fait par avance)
– Ligne 55 et 65
– format email
– Contrôle de cohérence réalisé
#—————————————————-
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 interprétation des paramètres de param.txt
– Si absent est généré à chaque exécution
– Permet d’investiguer si une erreur est trouvée dans le fichier de paramètrage
– TR_traces.txt
– Traces surveillance réalisée (quota non atteint ou quota dépassé et mail envoyé)
– TR_smtp.txt
– Verification 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é)
Démo
Le paquet
Composé de 3 fichiers
- TailleMax le script Bash – V3
- Param.txt le fichier de paramètrage à amender
- TailleMax.pdf la notice complémentaire
FAQ
Les principales questions/réponses collectées sur le sujet et/ou les éventuelles évolutions.
Bonjour Daffy,
Je viens de faire la dernière mise à jour et cela fonctionne parfaitement !
Merci beaucoup pour ce script et pour le tutoriel absolument impéccable !
Bravo !
Bravo pour le travail réalisé et la simplicité de mise en oeuvre.
ça fonctionne comme je le souhaitai.
Cette capacité n’est offerte en natif, que sur des disque formatés en Btrfs (et encore sur un dossier mais pas forcément sur la granularité que je veux) sur nos NAS Synology mais je suis en EXT4; (que je juge plus rapide d’ailleurs).
Bref c’est nickel sans que je poursuive sur les voies du SSH et autre accès au système du NAS qu’on me proposait.
Merci
Il ne se passe rien lorsque j’exécute la tâche. Pourtant, j’ai bien vérifié les paramètres
Bonjour,
j’ai bien lu votre commentaire, mais il me manque des informations.
Pouvez vous m’envoyer votre fichier de paramètrage param.txt
ou le mettre en partage via fileStation ce qui est encore plus simple.
Je regarderai votre paramètrage et votre arborescence afin de simuler sur mon NAS une situation quasi similaire.
Merci
Bonjour Yann
Merci, de votre réponse
Je n’avais pas mis le dossier TailleMax dans Home.
Je viens de le faire et ça a fonctionné. C’est possible de le placer ailleurs que dans Home ?
Bonjour,
je viens de faire ce test :
– dossier d’exécution du NAS : /volume2/DL/Appli/TailleMax
– dossier à surveiller : /volume2/web/test
– Taille à surveiller max : 150M
1ère exécution OK traces, OK pas de mail dossier taille < à limite fixée Puis chargement dossier test de web + de 450 M re exécution mail envoyé pour signaler dépassement.
Cordialement,
DaffY