Script de moniteur de disque dur pour les serveurs Linux sans tête

Jan 25, 2025
Maintenance et optimisation

Les disques durs modernes ont un mécanisme interne appelé S.M.A.R.T. grâce auquel il est possible de savoir quand un disque dur est sur le point de tomber en panne. Ne serait-il pas agréable que le serveur vous envoie un e-mail avant un tel échec?

Aperçu

Des programmes tels que «mdadm» (pour la gestion du RAID logiciel) et «Palimpsest Disk Utility» (utilisé sur Ubuntu LiveCD) utilisent les informations S.M.A.R.T pour vous informer lorsque le disque est sur le point de tomber ou échoue. Cependant, sur un serveur sans tête (sans interface graphique), il n'y a aucun service qui vous informera de la catastrophe en cours avant qu'il ne soit trop tard. De plus, comment le sauriez-vous sans vous connecter manuellement au serveur?

Ce script, lorsqu'il est exécuté une fois par jour avec cron, alertera si le nombre de secteurs défectueux des disques durs du système a atteint une limite délibérément inférieure au seuil "le disque est défectueux" et enverra l'avertissement par e-mail à l'administrateur de la machine.

Prérequis et hypothèses

  • Vous avez déjà configuré l'assistance par e-mail pour le serveur à l'aide du " Comment configurer les alertes par e-mail sous Linux ” guide.
  • Vous utilisez un système basé sur Debian.
  • Vous n'utilisez pas de * contrôleur RAID matériel.
  • Vous me verrez utiliser VIM comme programme d’éditeur, c’est simplement parce que j’y suis habitué ... vous pouvez utiliser tout autre éditeur que vous souhaitez.

* Parce qu'il est très possible que le contrôleur RAID matériel bloque l'accès du système à ces informations.

Installer

Installez le package «smartmontools» qui lit les informations S.M.A.R.T du contrôleur de disque dur et nous les présente.

sudo aptitude installer smartmontools

Créez le script de surveillance:

sudo vim /root/smart-monitor.sh

Faites-en un contenu:

#! / Bin / Bash
######## Fonction e-mail ########
email_admin_func ()
{
echo "À: [email protected]"> $ temp_email_file
echo "De: [email protected]" >> $ fichier_email_temp
echo "Objet: Seuil du moniteur S.M.A.R.T dépassé" >> $ temp_email_file
echo "" >> $temp_email_file
echo -e $1 >> $temp_email_file
/ usr / sbin / ssmtp -t <$ fichier_email_temp
echo "A envoyé un e-mail à l'administrateur"
}

smartc_func ()
{
/ usr / sbin / smartctl -A / dev / $ 1 | grep Reallocated_Sector_Ct | tr -s '' | cut -d '' -f11
}

######## Fin des fonctions ########

######## Définir le paramètre de travail ########
temp_email_file = / tmp / smart_monitor.txt
allowed_threshold = 5 # définir le nombre de secteurs défectueux avec lesquels vous êtes prêt à vivre, recommandé 5.

########Moteur########
pour i dans sda sdb; do # Ajoutez ou soustrayez les noms de disque de cette liste en fonction de votre configuration.
si [[ "`smartc_func $i`" -ge $allowed_threshold ]]; puis
echo Envoyer un e-mail à l'administrateur
email_admin_func "L'un des disques durs sur" `hostname`", a atteint la limite du seuil supérieur !!! nLe seuil a été défini sur: $ allowed_threshold et l'état du disque $ i était: "` smartc_func $ i` ""
être
terminé

Les points clés à noter sont:

  • Fonction e-mail - Définissez les informations appropriées telles que le nom de la machine et l'adresse e-mail de l'administrateur.
  • Seuil autorisé - Réglez ce paramètre sur ce que vous jugez approprié, j'ai utilisé 5 parce que la limite définie pour les disques durs «de qualité serveur» que j'ai utilisés était de 10. (j'ai trouvé le seuil pour les disques «grand public» être aussi élevé que 140).
  • Définissez les périphériques que vous souhaitez surveiller en ajustant l'énumération des noms de disque dans la boucle «for». Actuellement, deux disques (sda et sdb) sont inclus, ajustez donc votre configuration. Vous pouvez inclure tous vos disques ou seulement certains, si vous devez * exclure un disque pour une raison quelconque.

* dans ma configuration d'origine, le premier disque était un lecteur flash, donc lire ses informations si cela est possible n'est pas d'une grande utilité.

Rendez le script exécutable:

sudo chmod + x /root/smart-monitor.sh

La configuration est terminée.

Planifiez l'exécution automatique du script

Nous voulons que le script s'exécute automatiquement afin de créer un nouveau travail Cron pour lui.
Comme indiqué dans le " Comment configurer les alertes par e-mail sous Linux »Guide le résultat de le faire, est que si le script lui-même rencontre une erreur, cron nous informera automatiquement par e-mail dès que cela se produit.

Ouvrez le planificateur de tâches cron:

sudo crontab -e

Ajoutez ceci à son contenu:

0 7 * * * /root/smart-monitor.sh > /tmp/last_smart_monitor_run.log

Cela définira le script à exécuter tous les matins à 7 heures du matin.


Tout votre secteur nous appartient :)

Raspberry Pi Box Hard Drive Scripts


Maintenance et optimisation - Most Popular Articles

Comment réparer un PC bloqué sur «Ne pas éteindre» pendant les mises à jour Windows

Maintenance et optimisation Jun 25, 2025

Le message «Préparez Windows, n’éteignez pas votre ordinateur» s’affiche pendant que Windows installe les mises à jour. Windows terminera normalement le processus d’insta..


Comment prendre de bonnes photos de sport

Maintenance et optimisation Feb 22, 2025

Certaines des images les plus emblématiques au monde sont des photos de sport: Muhammad Ali debout au-dessus de Sonny Liston, Usain Bolt célébrant son record du monde de sprint a..


Comment utiliser un appareil Android comme deuxième moniteur pour votre PC ou Mac

Maintenance et optimisation Jul 4, 2025

Ce n’est un secret pour personne que deux moniteurs peuvent améliorer votre productivité, mais tout le monde n’a pas besoin d’une paire d’écrans tout le temps ..


Devez-vous utiliser Ubuntu LTS ou passer à la dernière version?

Maintenance et optimisation May 9, 2025

Peut-être la chose la plus remarquable à propos d'Ubuntu 13.04 récemment publié est qu'il n'est pas du tout remarquable. Ubuntu 13.04 contient les dernières versions du logicie..


Quels services Windows pouvez-vous désactiver en toute sécurité?

Maintenance et optimisation Jul 5, 2025

Si vous souhaitez tirer le maximum de performances de votre PC, vous pouvez envisager de désactiver certains des services Windows intégrés. Mais lesquels devez-vous désactiver? ..


Pourquoi les nouveaux onglets d'Internet Explorer s'ouvrent-ils si lentement? (et comment y remédier?)

Maintenance et optimisation Aug 3, 2025

CONTENU NON CACHÉ Avez-vous déjà remarqué à quel point l'ouverture d'Internet Explorer peut prendre une éternité sur certains PC? C'est généralement parce que vos modules..


Surveillez les sujets tendance, les blogs préférés et plus encore avec Regator

Maintenance et optimisation Jul 22, 2025

CONTENU NON CACHÉ Regator gère les flux RSS et trouve les actualités les plus pertinentes des blogs populaires sur le Web. Vous pouvez considérer Regator comme votre conservateur person..


Ajouter une liste de tâches à la page Nouvel onglet de Chrome

Maintenance et optimisation Mar 28, 2025

CONTENU NON CACHÉ Recherchez-vous un moyen d'avoir une liste de tâches à la demande disponible lorsque vous naviguez avec Google Chrome, mais sans exécuter une application supplémentai..


Catégories