2 votes

Vérifier l'espace libre sur Linux, envoyer un e-mail en cas de criticité

Je viens de finir de gérer un serveur qui avait manqué d'espace, et j'aimerais maintenant mettre en place un système de surveillance dessus, pour éviter qu'il ne devienne critique à l'avenir.

Ce que je voudrais, c'est recevoir un e-mail envoyé au compte root (qui redirige vers mon e-mail de travail) lorsque l'espace libre est inférieur à xx%, avec la possibilité de le configurer.

Je sais que je peux utiliser la commande df -h pour obtenir un affichage lisible par un humain, mais je ne veux pas un rapport tous les jours. Je veux seulement recevoir un rapport si certaines partitions/points de montage se remplissent et ont moins d'un certain pourcentage d'espace libre.

Je suis à l'aise avec le scripting, mais je ne sais pas comment procéder. Voici un exemple de la sortie de la commande que j'exécute manuellement de toute façon:

# df -h
Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                   74G  6.4G   64G  10% /
udev                                                     10M     0   10M   0% /dev
tmpfs                                                   387M  320K  387M   1% /run
/dev/disk/by-uuid/615e2eca-0e01-4f3f-99d3-5a0560a78f9a   74G  6.4G   64G  10% /
tmpfs                                                   5.0M     0  5.0M   0% /run/lock
tmpfs                                                   773M     0  773M   0% /run/shm
/dev/md0                                                939M   51M  841M   6% /boot
/dev/md3                                                844G  535G  266G  67% /images
/dev/md2                                                2.7T  1.7T  955G  64% /var

4voto

Sean Cavanagh Points 1156

Cela devrait vous aider à démarrer:

#!/bin/sh

MOUNTPOINTS="/ /home"
THRESHOLD=90

for MOUNT in ${MOUNTPOINTS}; do

  CURRENT=$(df ${MOUNT} | grep / | awk '{ print $5}' | sed 's/%//g')

  if [ "${CURRENT}" -gt "${THRESHOLD}" ] ; then
    mail -s 'Alerte Espace Disque' root << EOF

Votre partition ${MOUNT} dispose d'un espace libre critique restant. Utilisé: ${CURRENT}%
EOF

  fi

done

Ce code est basé sur le code de Malik Arjun.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X