Sonde pour surveiller le nombre de fichier dans un repertoire

Cette sonde Bash sert à surveiller le nombre de fichiers .dat présents dans un répertoire donné:

#!/bin/bash

# Définition des seuils
SEUIL_AVERTISSEMENT=5
SEUIL_CRITIQUE=8

# Définition du répertoire à surveiller
REPERTOIRE= »/home/data/D_IMPORT »

# Vérification de l’existence du répertoire
if [ ! -d « $REPERTOIRE » ]; then
echo « CRITICAL: Répertoire $REPERTOIRE introuvable »
exit 2
fi

# Comptage des fichiers .dat
NOMBRE_FICHIERS=$(find « $REPERTOIRE » -maxdepth 1 -type f -name « *.dat » | wc -l)

# Vérification des seuils
if [ « $NOMBRE_FICHIERS » -gt « $SEUIL_CRITIQUE » ]; then
echo « CRITICAL: $NOMBRE_FICHIERS fichiers .dat trouvés dans $REPERTOIRE »
exit 2
elif [ « $NOMBRE_FICHIERS » -gt « $SEUIL_AVERTISSEMENT » ]; then
echo « WARNING: $NOMBRE_FICHIERS fichiers .dat trouvés dans $REPERTOIRE »
exit 1
else
echo « OK: $NOMBRE_FICHIERS fichiers .dat trouvés dans $REPERTOIRE »
exit 0
fi

Nombre de fichiers .dat État Code
0 à 5 OK 0
6 à 8 WARNING 1
> 8 CRITICAL 2

Et en inversant la logique des seuils:

#!/bin/bash

# Définition des seuils
SEUIL_CRITIQUE=5
SEUIL_AVERTISSEMENT=8

# Définition du répertoire à surveiller
REPERTOIRE= »/home/data/D_IMPORT »

# Vérification de l’existence du répertoire
if [ ! -d « $REPERTOIRE » ]; then
echo « CRITICAL: Répertoire $REPERTOIRE introuvable »
exit 2
fi

# Comptage des fichiers .dat
NOMBRE_FICHIERS=$(find « $REPERTOIRE » -maxdepth 1 -type f -name « *.dat » | wc -l)

# Vérification des seuils (logique inversée)
if [ « $NOMBRE_FICHIERS » -le « $SEUIL_CRITIQUE » ]; then
echo « CRITICAL: $NOMBRE_FICHIERS fichiers .dat trouvés dans $REPERTOIRE »
exit 2
elif [ « $NOMBRE_FICHIERS » -le « $SEUIL_AVERTISSEMENT » ]; then
echo « WARNING: $NOMBRE_FICHIERS fichiers .dat trouvés dans $REPERTOIRE »
exit 1
else
echo « OK: $NOMBRE_FICHIERS fichiers .dat trouvés dans $REPERTOIRE »
exit 0
fi

Nombre de fichiers .dat État Code
0 à 5 CRITICAL 2
6 à 8 WARNING 1
> 8 OK 0

Derniers Articles