Aller au contenu

[Resolu] Script surveillance taille d'1 fichier


Fafhrdius

Messages recommandés

En avant propos je signalerais que je n'ai pas des connaissances monstrureuses en script shell.

Le topic"100% question pour un penguin" me fais penser que peut être quelqu'un pourrait m'aider.

Le problème:

J'ai un problème avec le fichier Data.fs d'une instance de portail Zope: celui ne doit pas dépasser une certaine taille sous peine de faire planter le serveur zope. (la taille max est la taille max que peut gérer le système de fichier en fait)

Nous avons planifier un upgrade du serveur pour palier à ce problème, mais nous aimerions vivre tranquillement en attendant.

J'aimerais donc surveiller la taille de ce fichier et m'envoyer un mail le cas échéant (i.e. le fichier dépasse une certaine taille.)

Mon script est le suivant:

#!/bin/sh

# permet de verifier si le fichier $1 a une taille inferieur a $2, sinon envoie d'un mail d'alerte

if [ $# -lt 2 ]; then
echo " Veuillez specifier un fichier en parametre ansi que la taille maximum acceptable pour celui-ci!"
else
if [ -f $1 ]; then
 fichier=$1
 taille=`du -sk "$fichier"`
 taille_en_kilo=`echo "$taille" | cut -f1 -d'/'`
 taille_humaine=`du -h "$fichier"`
 if [ $taille_en_kilo -lt $2 ]; then
 	echo "fichier suffisament leger"
 else
 	echo "le fichier devient trop volumineux, on envoie un mail"
 	res=`echo "la taille de data.fs devient trop grande : " "taille_humaine" | mail -s test moi@mondomain.fr` 
 fi
else
 echo " le fichier " $1 " n'existe pas !"
fi
fi

Tout semble OK sauf l'envoie de mail (pas d'erreur mais je ne reçoit jamais de mail).

Je teste ce script sur mon poste de travail (mdk 10.1 community).

Quelqu'un à une idée ?

Je devine qu'il s'agit d'un problème de conf' pour l'envoie de mail via "mail" mais je ne vois pas quoi.

Lien vers le commentaire
Partager sur d’autres sites

Si y'a un problème avec la commande mail, c'est que ton serveur de mails est mal configuré sur la machine. Cherche de ce côté là.

Sinon pour ton Data.fs, c'est classique :) Je te propose de faire un job cron qui va faire un "pack" de la ZODB régulièrement. C'est facile à faire, y'a juste un script Zope à faire et un appel à l'URL correspondante par le script (un simple wget peut le faire).

Tu bosses avec Zope ? C'est cool !

Lien vers le commentaire
Partager sur d’autres sites

@keneda212:

pour res, pas de raison particulière, tu as raison ce n'est pas nécessaire :yes:

pour $taille_humaine ce n'est pas le problème le plus préoccupant :cartonrouge:

@gauret:

Ca me confirme dans mes doutes. Je cherche de ce côté là donc.

Le Data.fs, je suis totalement d'accord que c'est connu. Le serveur tel que je l'ai récupéré permet un fichier max de 2Go. Or un système "à jour" (surtout le zope et son python) permettrait d'avoir 8Go. (Ce n'est pas le seul problème que je rencontre avec ce serveur d'où la décision de le mettre à jour ... ).

Le truc, c'est qu'on s'en est rendu compte un jour ou il a passé les 2Go :8

De ce fait, serveur en rade .. J'ai donc bidouillé un script python, pour lancer le "pack" et ouf, juste passé sous les 2Go.Par la suite on a fait un peu de ménage mais en attendant la remise à niveau programmé du serveur, on aimerait avoir ce genre de procédé de contrôle.

Et ouais zope c'est pas mal :yes: Je participe juste à la maintenance d'un portail de l'école justement en zope.

@tuxx:

désolé mais j'ai pas compris ta remarque.

@theocrite:

merci pour m'avoir confirmer que cela marchait et surtout merci de me dire que `commande`est déprécié (je fais pas du script shell souvent moi :p )

EDIT: orthographe, même après relecture: "quand y'en a plus, y'en a encore"

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...