Menage filesystem

bouille Messages postés 5 Statut Membre -  
bouille Messages postés 5 Statut Membre -
bonjour a tous ,

Je cherche a faire un script sous unix me permettant de vérifier
l'etat des filesystems avec un pourcentage spécifique (seuil d'alerte 70% a 80% et suite a cela aller sous la directory en question et faire le ménage ,tous ceci automatiquement bien surs ,je pense faire un archivage et delete sous la directory afin de descendre le seuil du filesystem .

si possible avec awk pour la recherche du seuil de pourcentage .

merci a tous de votre reponse

a+

2 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Allez juste pour t'aiguiller, pour ton histoire de "quota" sur les répertoires, tu pourrais faire un truc dans le genre (bien sur à adapter selon tes besoins) :
    #!/bin/bash
    
    for rep in /home /var /usr
    do
            pourcentage=$(df -h | grep "$rep" | awk '{ print $4 }')
            result=$(expr "$pourcentage" : "\(.*\)%")
            echo
            echo -e "Répertoire : $rep \tPlace occupée : $pourcentage"
            if [ "$result" -gt "70" ]
            then
                    echo "L'espace critique a été dépassé sur \"$rep\" !!! "
                    echo "Vous devriez faire le ménage..."
                    echo
            else
                    echo "L'espace critique n'a pas été dépassé sur \"$rep\" ;-) "
                    echo "Pas de ménage à faire..."
                    echo
            fi
    done
    ;-))
    0
    1. bouille Messages postés 5 Statut Membre
       
      salut jipicy ,

      merci de ta reponse qui m'aide bien ,j'ai un autre soucis sur le fait
      que je maitrise pas encore la commande "expr" ,je souhaiterai mettre + de repertoire a explorer et selon le choix des repertoires
      dépassant tant de % lister les fichiers les + important dans tous
      les directory et sous directory ex /home/toto/titi/etc etc dans un fichier en sortie et dans ce fichier en sortie extraire les fichiers par ex .log .tmp etc puis archiver et delate ensuite des fichiers extraits

      dur dur ...

      merci de ton aide
      0
    2. bouille Messages postés 5 Statut Membre
       
      salut jipicy ,

      merci pour ta réponse explicite .As tu une solution simple suite
      a ce script pour récupérer la variable selon le fs détecté a tant de %,variable=fs récupérer et de la je déclenche mes commandes approprié .Merci pour ton aide .


      cdt

      bouille
      0
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Re-

    La commande "expr" en fait sert surtout à effectuer des opérations arithmétiques sur des nombres entiers, à évaluer des expressions et aussi à manipuler des chaînes de caractères...

    Dans l'exemple que je t'ai donné, elle sert à extraire le nombre entier de l'expression "70%", en fait elle nous permet de n'afficher que le nombre sans le signe du pourcentage pour pouvoir le comparer(on aurait sûrement pu faire autrement).

    Pour le nombre de répertoires, tu es libre d'en rajouter autant que tu veux à la suite de l'instruction "For variable in".

    Après pour tes histoires de liste de fichiers en fonction de leur taille, regarde du côté de la commande "ls" et de ses options, nottament "ls -lsS".
    Regarde aussi du côté de la commande "find", associée à "-exec" pour exécuter directement des commandes en sortie de recherche...

    ;-))
    0