Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/01/2012, à 13:10

lalaituefievreuse

[RESOLU] script surveiller taille répertoire

Bonjour,

Je désire surveiller un répertoire de la façon suivante :

Lorsque /home/repertoire atteint 2 Go envoyer un mail à moi@moi.com disant "espace critique".
Lorsque /home/repertoire atteint 3 Go envoyer un mail à moi@moi.com disant "Répertoire plein".

Je voudrais le faire via un script Bash sur ma distribution Ubuntu.
N'ayant pas beaucoup de connaissance en programmation, je fais appel à vos lumière.

Merci par avance pour votre aide.

Dernière modification par lalaituefievreuse (Le 22/01/2012, à 21:42)

Hors ligne

#2 Le 17/01/2012, à 13:37

pem1664

Re : [RESOLU] script surveiller taille répertoire

Salut :
a adapter selon tes besoins :

#!/bin/bash
#PeM pour hotel

MyDir="/home/administrateur/scripts/"
PartitionASurveiller1="/"
PartitionASurveiller2="/home"
WarnSize=90
CritSize=98
Full=100

MakeDu1()
{
    df -TP | awk -vpartvar=$PartitionASurveiller1 '($NF == partvar)  {gsub("%", "");print $6}'
}

MakeDu2()
{
    df -TP | awk -vpartvar=$PartitionASurveiller2 '($NF == partvar)  {gsub("%", "");print $6}'
}

taille1=$(MakeDu1)
taille2=$(MakeDu2)

cd "$MyDir" || exit 1
#/
if ((taille1 > WarnSize && taille1 < CritSize));
then
    echo "le pourcentage utilisé est de $taille1 % supérieur à $WarnSize %" 
    echo le pourcentage utilisé est de $taille1 % supérieur à $WarnSize % sur la partition racine pc réception | mail -s "WARNING espace disque reception $taille1 %" monadresse@gmail.com
    sleep .5
fi
if ((taille1 > CritSize && taille1 < Full));
then
    echo "le pourcentage utilisé est de $taille1 % supérieur à $CritSize %" 
    echo le pourcentage utilisé est de $taille1 % supérieur à $CritSize % sur la partition racine pc réception | mail -s "URGENT espace disque reception $taille1 %" monadresse@gmail.com
    sleep .5
fi
if ((taille1 == Full));
then
    echo "le pourcentage utilisé est de $taille1 % égal à $Full %" 
    echo le pourcentage utilisé est de $taille1 % sur la partition racine pc réception | mail -s "TOO LATE espace disque reception $taille1 %" monadresse@gmail.com
        sleep .5
fi
#/home
if ((taille2 > WarnSize && taille2 < CritSize));
then
    echo "le pourcentage utilisé est de $taille2 % supérieur à $WarnSize %" 
    echo le pourcentage utilisé est de $taille2 % supérieur à $WarnSize % sur la partition home pc réception | mail -s "WARNING espace disque reception $taille2 %" monadresse@gmail.com
    sleep .5
fi
if ((taille2 > CritSize && taille2 < Full));
then
    echo "le pourcentage utilisé est de $taille2 % supérieur à $CritSize %" 
    echo le pourcentage utilisé est de $taille2 % supérieur à $CritSize % sur la partition home pc réception | mail -s "URGENT espace disque reception $taille2 %" monadresse@gmail.com
    sleep .5
fi
if ((taille2 == Full));
then
    echo "le pourcentage utilisé est de $taille2 % égal à $Full %" 
    echo le pourcentage utilisé est de $taille2 % sur la partition home pc réception | mail -s "TOO LATE espace disque reception $taille2 %" monadresse@gmail.com
        sleep .5
else
     echo "L'espace disque racine est convenable: $taille1 %" 
    echo "L'espace disque home est convenable: $taille2 %"
fi

j'utilise ssmtp pour l'envoi de mails.
J'avais trouvé ce script en partie (ptetre completement) sur ce forum, je l'ai juste adapté a mes besoins
edit : oups j'avais pas bien lu, la c'est pour surveiller l'espace sur une partition.. je ne sais pas si ca pourrait etre adapté a 1 repertoire vu que df c'est pour voir l'espace occupé sur une partition..

Dernière modification par pem1664 (Le 17/01/2012, à 13:45)


Pas de problème sans solutions, mettre [résolu] dans son premier post permet de rechercher plus facilement une solution... ;)

Hors ligne

#3 Le 17/01/2012, à 15:44

lalaituefievreuse

Re : [RESOLU] script surveiller taille répertoire

Merci pour ton aide,
Je vais tenté d'adapté le script pour que cela s'applique sur un ou plusieurs répertoires.
Si j'éprouve des difficultés, je vous en ferais part.

Dernière modification par lalaituefievreuse (Le 17/01/2012, à 15:45)

Hors ligne

#4 Le 17/01/2012, à 17:43

Levi59

Re : [RESOLU] script surveiller taille répertoire

pour afficher la taille d'un dossier, c'est du la commande à utiliser.
ex :

du -h /chemin/vers/mondossier/

Hors ligne

#5 Le 17/01/2012, à 19:24

lalaituefievreuse

Re : [RESOLU] script surveiller taille répertoire

Bonsoir,

Je viens de modifier le script toutefois, j'ai dès erreurs :

# !/bin/bash
#Gestion taille répertoire avec alerte mail

DossierASurveiller1="/mnt/datastore/ftc"
#45 Go
WarnSize=45000
#47 Go
CritSize=47000
#50 Go
Full=50000

#Taille de mon répertoire en Mo
taille1= du -sm $DossierASurveiller1

#/mnt/datastore/ftc
#Entre 45 et 47 Go
if ((taille1 > WarnSize && taille1 < CritSize));
then
    echo "le pourcentage utilisé est de $taille1 % supérieur à $WarnSize %" 
    echo le pourcentage utilisé est de $taille1 % supérieur à $WarnSize % sur le répertoire $DossierASurveiller1 | mail -s "WARNING : espace répertoire sauvegarde $taille1 %" xpey@gema.com
    sleep .5
fi
#Entre 47 et 50 Go
if ((taille1 > CritSize && taille1 < Full));
then
    echo "le pourcentage utilisé est de $taille1 % supérieur à $CritSize %" 
    echo le pourcentage utilisé est de $taille1 % supérieur à $CritSize % sur le répertoire $DossierASurveiller1 | mail -s "URGENT : espace répertoire sauvegarde $taille1 %" xpey@gema.com
    sleep .5
fi
#Répertoire plein -> 50 Go
if ((taille1 == Full));
then
    echo "le pourcentage utilisé est de $taille1 % égal à $Full %" 
    echo le pourcentage utilisé est de $taille1 % sur le répertoire $DossierASurveiller1 | mail -s "FULL : espace répertoire sauvegarde $taille1 %" xpey@gema.com
    sleep .5
fi

Lorsque j'exécute mon script il me retourne une erreur à la ligne 13, je suppose que c'est du au fait que la variable "taille1" reçoive la taille mais également le nom du répertoire concerné, je n'arrive pas à obtenir que la taille.
Et j'ai aussi une erreur ligne 36 car le script ne se termine pas normalement.

Hors ligne

#6 Le 17/01/2012, à 21:18

pem1664

Re : [RESOLU] script surveiller taille répertoire

salut, pour récuperer uniquement les chiffres regarde du coté de ce post, tu trouvera surement une astuce
http://forum.ubuntu-fr.org/viewtopic.php?id=520321

Le du renvoi comme premiere expression la taille alors y doit bien y avoir moyen de bricoler

Edit merci Levi9 pour cette commande!

Dernière modification par pem1664 (Le 17/01/2012, à 21:19)


Pas de problème sans solutions, mettre [résolu] dans son premier post permet de rechercher plus facilement une solution... ;)

Hors ligne

#7 Le 17/01/2012, à 22:29

lalaituefievreuse

Re : [RESOLU] script surveiller taille répertoire

Merci, pour l'orientation.

J'ai réussi à découpé la partie du résultat retourné par la commande "du" grâce à la commande "cut"

Hors ligne

#8 Le 17/01/2012, à 22:32

pem1664

Re : [RESOLU] script surveiller taille répertoire

wink j'avais appris pas mal de truc aussi sur ce post!


Pas de problème sans solutions, mettre [résolu] dans son premier post permet de rechercher plus facilement une solution... ;)

Hors ligne

#9 Le 17/01/2012, à 22:34

Levi59

Re : [RESOLU] script surveiller taille répertoire

#Taille de mon répertoire en Mo
taille1= du -sm $DossierASurveiller1

L'erreur viens de la syntaxe :
Pour définir une commande il faut ecrire $(commande) et pas d'espaces autour du égal

#Taille de mon répertoire en Mo
taille1=$(du -sm $DossierASurveiller1)

Hors ligne

#10 Le 17/01/2012, à 22:51

lalaituefievreuse

Re : [RESOLU] script surveiller taille répertoire

MAJ du script :

 # !/bin/bash
# chmod a+x gestion_repertoire.sh // pour rendre le script executable.
# Script qui surveille la taille des répertoires et renvoie un mail si celle-ci dépasse le quota défini.
# Chemin du ou des répertoires a surveiller.
DossierASurveiller1="/mnt/sav/francois_tourisme_consultant/"

# Constante pour les statistiques.
pourcentage=100

# Récupère la taille en Mo plus le chemin du répertoire.
info1=$(du -sm $DossierASurveiller1)

# Récupère uniquement la taille du répertoire en Mo
taille1=$(echo $info1 | cut -d' ' -f1)

# Taille maximale du répertoire = 50 Go
max=50000

# Taille de début d'alerte = 48 Go
trop=48000

# /mnt/sav/francois_tourisme_consultant/
# Calcul du pourcentage d'utilisation.
stat1=$(echo "scale=2;($taille1/$max*$pourcentage)" | bc)

# Envoie une alerte lorsque la taille du répertoire est comprise entre 48 et 50 Go
if ((taille1 > trop && taille1 < max));
then
    echo "ATTENTION : La taille du répertoire "$DossierASurveiller1" est de "$taille1" Mo alors que la limite est de "$max" Mo. Soit "$stat1" % des ressources sont utilisées." | mail -s "URGENT : Espace du répertoire de sauvegarde critique." xp@gema.com
    sleep .5
fi

# Envoie une alerte lorsque le répertoire est plein -> 50 Go
if ((taille1 == max));
then
    echo "DANGER : La taille du répertoire "$DossierASurveiller1" est de "$taille1" Mo alors que la limite est de "$max" Mo. Soit "$stat1" % des ressources sont utilisées." | mail -s "DANGER : Espace du répertoire de sauvegarde plein." xp@gema.com
    sleep .5
fi

Dernière modification par lalaituefievreuse (Le 18/01/2012, à 19:27)

Hors ligne

#11 Le 18/01/2012, à 19:27

lalaituefievreuse

Re : [RESOLU] script surveiller taille répertoire

Mon script ne me retourne plus d'erreurs.
Toutefois, l'envoie de mail ne fonctionne pas, je me demandais si ma syntaxe était bonne et si oui si je dois paramétrer quelque part les options d’envoi tel que le serveur smtp, pop ou autre chose ?

Dernière modification par lalaituefievreuse (Le 18/01/2012, à 19:29)

Hors ligne

#12 Le 19/01/2012, à 09:47

pem1664

Re : [RESOLU] script surveiller taille répertoire

Ah oui! il faut que tu configures ssmtp

EDIT et ta syntaxe n'est pas bonne : tes variables n'ont pas a etre entre "$variable"  dans l'envoi du mail sinon le echo s’arrête à la 2eme " qu'il trouve

echo "ATTENTION : La taille du répertoire "$DossierASurveiller1" est de "$taille1" Mo alors que la limite est de "$max" Mo. Soit "$stat1" % des ressources sont utilisées." | mail -s "URGENT : Espace du répertoire de sauvegarde critique." xp@gema.com

devrait plutot donner ca :

echo "ATTENTION : La taille du répertoire $DossierASurveiller1 est de $taille1 Mo alors que la limite est de $max Mo. Soit $stat1 % des ressources sont utilisées." | mail -s "URGENT : Espace du répertoire de sauvegarde critique." xp@gema.com

EDIT2
oups non ca fait pareil.. roll

Dernière modification par pem1664 (Le 23/01/2012, à 00:42)


Pas de problème sans solutions, mettre [résolu] dans son premier post permet de rechercher plus facilement une solution... ;)

Hors ligne

#13 Le 20/01/2012, à 14:35

lalaituefievreuse

Re : [RESOLU] script surveiller taille répertoire

Merci à tous pour votre aide mon script est terminé et il fonctionne comme je le souhaite.
Dernière étape automatiser son lancement tous les jours à 5 heure du matin.
Pour cela j'édite :

/etc/crontab

Je rajoute la ligne suivante :

0 5 * * * root /chemin/mon_script.sh

Ce qui signifie que root lance le script tous les jours à 5 heure....
Cela ne fonctionne pas.
Je suppose qu'il y a un problème de syntaxe ?
Auriez-vous une idée ?

Encore Merci pour toute votre aide.

Dernière modification par lalaituefievreuse (Le 20/01/2012, à 14:36)

Hors ligne

#14 Le 20/01/2012, à 15:38

pem1664

Re : [RESOLU] script surveiller taille répertoire

Bah c'est parce que t'oublie bash /chemin/monscript.sh wink


Pas de problème sans solutions, mettre [résolu] dans son premier post permet de rechercher plus facilement une solution... ;)

Hors ligne

#15 Le 22/01/2012, à 21:41

lalaituefievreuse

Re : [RESOLU] script surveiller taille répertoire

Merci pour votre aide mon PB est résolu.
Pour ce que cela peux intéresser voici mon script :

    # !/bin/bash
    # SCRIPT gestion_repertoire.sh
    # Surveille la taille des répertoires et envoie un courriel si celle-ci dépasse le quota défini et rempli un log.
    # =============================================================================================================================
    # Pré-requis :
    # chmod a+x gestion_repertoire.sh (pour rendre le script exécutable.)
    # Pour automatiser le lancement du script j'utilise crontab.
    # Editer le fichier /etc/crontab et rajouter la ligne ci-dessous :
    # 0 5 * * * root bash /home/administrateur/Bureau/gestion_repertoire.sh
    # Root lance le script une fois par jour à 5h (pour tous les jours de la semaine) en utilisant l'interpréteur de commande bash.
    # Pour configurer l'envoie de mail en ligne de commande suivre le tuto : http://doc.ubuntu-fr.org/ssmtp
    # L'émetteur des mails est : cloud@domaine.com
    # Créer le fichier de log manuellement.
    # =============================================================================================================================
    #

    # Chemin du Log
    Log="/mnt/sav/log.txt"

    # Chemin du ou des répertoires a surveiller.
    DossierASurveiller1="/mnt/sav/ftc"

    # Nom du ou des utilisateurs.
    user1="FTC"

    # Constante pour les statistiques.
    pourcentage=100

    # Récupére la taille en Mo plus le chemin du répertoire.
    info1=$(du -sm $DossierASurveiller1)

    # Découpe le résultat précédent pour garder uniquement la taille du répertoire en Mo.
    taille1=$(echo $info1 | cut -d' ' -f1)

    # Taille maximale du répertoire autorisé = 50 Go.
    max=50000

    # Taille de début d'alerte = 40 Go.
    trop=40000

    # Calcul du pourcentage d'utilisation.
    stat1=$(echo "scale=2;($taille1/$max*$pourcentage)" | bc)

    # Création du fichier du contenu des mails.
    touch $DossierASurveiller1/readme.txt

    # Datage de la remontée d'informations.
    DATE=`date +%d/%m/%Y-%H:%M:%S`

    # Surveillance de /mnt/sav/ftc/
    # Envoie une alerte lorsque la taille du répertoire est comprise entre 40 et 50 Go.
    if ((taille1 > trop && taille1 < max));
    then
        echo $DATE"     Répertoire : "$DossierASurveiller1" = "$taille1"     Limite fixée à "$max"     Utilisation = "$stat1" %     Pour "$user1 >> $Log
        echo "ATTENTION : La taille du repertoire "$DossierASurveiller1" est de "$taille1" Mo alors que la limite est de "$max" Mo. Soit "$stat1" % des ressources de "$user1" sont utilisees le "$DATE > $DossierASurveiller1/readme.txt
        cat $DossierASurveiller1/readme.txt | mail -s "AVERTISSEMENT : Espace du repertoire de sauvegarde CRITIQUE." tech@domaine.com
        sleep .5
           
    fi

    # Envoie une alerte lorsque le répertoire est plein = 50 Go.
    if ((taille1 == max));
    then
        echo $DATE"     Répertoire : "$DossierASurveiller1" = "$taille1"     Limite fixée à "$max"     Utilisation = "$stat1" %     Pour "$user1 >> $Log
        echo "ATTENTION : La taille du repertoire "$DossierASurveiller1" est de "$taille1" Mo alors que la limite est de "$max" Mo. Soit "$stat1" % des ressources de "$user1" sont utilisees le "$DATE > $DossierASurveiller1/readme.txt
        cat $DossierASurveiller1/readme.txt | mail -s "DANGER : Espace du repertoire de sauvegarde PLEIN." tech@domaine.com
        sleep .5
       
    fi

    # Envoie une alerte lorsque le répertoire dépasse les 50 Go prévu.
    if ((taille1 > max));
    then
        echo $DATE"     Répertoire : "$DossierASurveiller1" = "$taille1"     Limite fixée à "$max"     Utilisation = "$stat1" %     Pour "$user1 >> $Log
        echo "ATTENTION : La taille du repertoire "$DossierASurveiller1" est de "$taille1" Mo alors que la limite est de "$max" Mo. Soit "$stat1" % des ressources de "$user1" sont utilisees le "$DATE > $DossierASurveiller1/readme.txt
        cat $DossierASurveiller1/readme.txt | mail -s "URGENT : Espace du repertoire de sauvegarde DEPASSE." tech@domaine.com
        sleep .5
       
    fi

    # Suppression du fichier du contenu des mails.
    rm $DossierASurveiller1/readme.txt


    #######################################
    # INFOS :                             #
    #   Script : gestion_repertoire.sh    #
    #   Version 1.0                       #
    #   Copyleft                          #
    #   21/01/2012 à 13h00                #
    #######################################

Hors ligne

#16 Le 23/01/2012, à 11:34

pem1664

Re : [RESOLU] script surveiller taille répertoire

Salut, il est bien ton script smile
deux petites remarques cependant
- Pourquoi ne pas passer l'adresse mail en variable?
genre

adressemain="adressemail@domaine.com"

puis juste un echo "$adressemail" dans le mail et comme ca il peut etre utilisé tel que, juste a modifier la config au début smile Pareil pour les tailles de répertoire non?
et
- dans la création du fichier readme tu met echo $DATE"  etc..
je comprend pas pourquoi le $DATE est pas entre " tel qu'il est il ne s'affiche pas dans le echo. (enfin dans les essais que j'ai fait avec ton script il faut que je le mette entre " ")
PS m'est gourré quand je te disais que fallait pas mettre les $variables entre " ", je viens de découvrir que ca marche aussi, je savais pas roll


Pas de problème sans solutions, mettre [résolu] dans son premier post permet de rechercher plus facilement une solution... ;)

Hors ligne

#17 Le 10/08/2012, à 02:21

v1ct0r

Re : [RESOLU] script surveiller taille répertoire

Bonjour et merci pour ce script, c'est exaxtement ce que je cherchais.
J'administre un site sur le deep web qui propose entre autre de fournir un hebergement. Malheureusement je n'ai pas réussit à faire fonctionner les quotas sur mes serveurs. J'avais donc décidé de coder un petit script pour remplacer cette fonction super importante(il ne s'agit pas que les clients s'attribuent tout l'espace disque des serveurs)

J'ai legerement modifié le script, notament j'utilise sendemail pour ne pas être mis en spam et pouvoir utiliser le serveur SMTP de tormail (un fournisseur de mail anonyme sur Tor) . Il est possible de torifier sendemail grace à la commande usewithtor.

Il suffit juste de modifier les variables pour pouvoir s'en servir
Si vous utiliser le serveur SMTP de gmail -o tls=yes à sendemail
L'adresse du serveur SMTP de gmail est smtp.gmail.com

    # !/bin/bash
    # SCRIPT gestion_repertoire.sh
    # Surveille la taille des répertoires et envoie un courriel si celle-ci dépasse le quota défini et rempli un log.
    # http://forum.ubuntu-fr.org/viewtopic.php?id=792761
    # =============================================================================================================================
    # Pré-requis :
    # Installer sendemail et les modules perl ssl si necessaire
    # sudo apt-get install libio-socket-ssl-perl libnet-ssleay-perl perl
    # sudo apt-get install sendemail
    # Un bon tuto sur sendemail à
    # http://www.debianadmin.com/how-to-sendemail-from-the-command-line-using-a-gmail-account-and-others.html
    #
    # chmod a+x gestion_repertoire.sh (pour rendre le script exécutable.)
    # Pour automatiser le lancement du script j'utilise crontab.
    # Editer le fichier /etc/crontab et rajouter la ligne ci-dessous :
    # 0 5 * * * root bash /home/administrateur/Bureau/gestion_repertoire.sh
    # Root lance le script une fois par jour à 5h (pour tous les jours de la semaine) en utilisant l'interpréteur de commande bash.
    # =============================================================================================================================
    #
    
    # Nom de l'admin (doit correspondre à l'id du compte SMTP)
    admin="admin"
    mdp="admin"
    # Adresse mail de l'admin (doit correspondre au compte SMTP servant à envoyer le mail)
    mailAdmin="admin@dom.com"
    #adresse du serveur SMTP
    serveurSMTP="smtp.com"

    # Chemin du Log
    Log="/home/admin/quotaLog.txt"
    #Verifie que le fichier de log existe et sinon le crée
    if test -f $Log; then
        echo "Le fichier existe"
    else 
        touch $Log;
    fi
    

    # Chemin du ou des répertoires a surveiller.
    DossierASurveiller1="/home/test"
    

    # Nom du ou des utilisateurs.
    user1="test"
    
    # Adresse mail du ou des utilisateurs.
    mailUser1="test@dom.com"
    
    
    
    

    # Constante pour les statistiques.
    pourcentage=100

    # Récupére la taille en Mo plus le chemin du répertoire.
    info1=$(du -sm $DossierASurveiller1)

    # Découpe le résultat précédent pour garder uniquement la taille du répertoire en Mo.
    taille1=$(echo $info1 | cut -d' ' -f1)

    # Taille maximale du répertoire autorisé = 1 Go. => 40 Mo pour les tests
    max=40

    # Taille de début d'alerte = 800 Mo. => 20 Mo pour les tests
    trop=20

    # Calcul du pourcentage d'utilisation.
    stat1=$(echo "scale=2;($taille1/$max*$pourcentage)" | bc)

    # Création du fichier du contenu des mails.
    touch $DossierASurveiller1/readme.txt

    # Datage de la remontée d'informations.
    DATE=`date +%d/%m/%Y-%H:%M:%S`

    # Surveillance de /home/test/
    # Envoie une alerte lorsque la taille du répertoire est comprise entre trop et max
    if ((taille1 > trop && taille1 < max));
    then
        echo $DATE"     Répertoire : "$DossierASurveiller1" = "$taille1"     Limite fixée à "$max"     Utilisation = "$stat1" %     Pour "$user1 >> $Log
        echo "ATTENTION : La taille du repertoire "$DossierASurveiller1" est de "$taille1" Mo alors que la limite est de "$max" Mo. Soit "$stat1" % des ressources de "$user1" sont utilisees le "$DATE > $DossierASurveiller1/readme.txt
        #Envoi du mail
        sendemail -f $mailAdmin -t $mailUser1 -cc $mailAdmin -u "AVERTISSEMENT : Espace du repertoire de sauvegarde CRITIQUE." -s $serveurSMTP -xu $admin -xp $mdp -o message-file=$DossierASurveiller1/readme.txt
        sleep .5
           
    fi

    # Envoie une alerte lorsque le répertoire est plein.
    if ((taille1 == max));
    then
        echo $DATE"     Répertoire : "$DossierASurveiller1" = "$taille1"     Limite fixée à "$max"     Utilisation = "$stat1" %     Pour "$user1 >> $Log
        echo "ATTENTION : La taille du repertoire "$DossierASurveiller1" est de "$taille1" Mo alors que la limite est de "$max" Mo. Soit "$stat1" % des ressources de "$user1" sont utilisees le "$DATE > $DossierASurveiller1/readme.txt
        #Envoi du mail
        sendemail -f $mailAdmin -t $mailUser1 -cc $mailAdmin -u "DANGER : Espace du repertoire de sauvegarde PLEIN." -s $serveurSMTP -xu $admin -xp $mdp -o message-file=$DossierASurveiller1/readme.txt
        sleep .5
       
    fi

    # Envoie une alerte lorsque le répertoire dépasse le max.
    # On peut aussi bloquer le compte si on est mechant
    #Il suffit d'attribuer les droit du repertoire à l'admin et en interdire l'acces aux autres
    # chown -R $admin:$admin  $DossierASurveiller && chmod -R 700 $admin:$admin $DossierASurveiller
    if ((taille1 > max));
    then
        echo $DATE"     Répertoire : "$DossierASurveiller1" = "$taille1"     Limite fixée à "$max"     Utilisation = "$stat1" %     Pour "$user1 >> $Log
        echo "ATTENTION : La taille du repertoire "$DossierASurveiller1" est de "$taille1" Mo alors que la limite est de "$max" Mo. Soit "$stat1" % des ressources de "$user1" sont utilisees le "$DATE > $DossierASurveiller1/readme.txt
        #Envoi du mail
        sendemail -f $mailAdmin -t $mailUser1 -cc $mailAdmin -u "URGENT : Espace du repertoire de sauvegarde DEPASSE." -s $serveurSMTP -xu $admin -xp $mdp -o message-file=$DossierASurveiller1/readme.txt 
        sleep .5
       
    fi
    
    # Suppression du fichier du contenu des mails.
    rm $DossierASurveiller1/readme.txt


    #######################################
    # INFOS :                             #
    #   Script : gestion_repertoire.sh    #
    #   Version 1.0                       #
    #   Copyleft                          #
    #   21/01/2012 à 13h00                #
    #######################################

#16 Le 23/01/2012, à 11:34
#
# jeudi 9 août 2012, 23:13:22 (UTC+0000)
# Changelog by v1ct0r
# Utilisation de sendemail pour l'envoi de mail à l'aide d'un serveur smtp 
# Utilisation de l'option -cc pour envoyer une copie carbone du mail à l'admin 
# Verifie que le fichier de Log existe sinon le crée
# Ajout des variables admin, mdp, mailAdmin et serveurSMTP pour une configuration plus simple du script
# Ajout de la possibilité de bloquer automatiquement l'acces du compte qui depasse le max (decommenter la ligne correspondante)
#

Dernière modification par v1ct0r (Le 10/08/2012, à 02:30)


http://3vnjj7h6c6vw2yh5.onion
La connaissance ne vaut que si elle est partagée par tous

Hors ligne