Je partage ici un script perl, qui est censé envoyer un e-mail avec l'état du HDD/RAM dans le corps du message : De plus, la sortie du HDD ne se produira que si l'utilisation du %HDD est supérieure à 50%.
-
Comment puis-je inclure les variables déclarées (ici,
@hdd
et@ram
) dans le corps du message ? -
Comment puis-je faire en sorte que le programme se termine sans envoyer le mail si l'utilisation du HDD est inférieure à 50%..? Ou simplement, le programme de messagerie ne doit fonctionner que si le % du HDD est supérieur à 50%.
Dans le script ci-dessous, la vérification du HDD/RAM fonctionne bien, ainsi que l'envoi du mail. Sauf, au lieu des valeurs HDD/RAM, "@hdd" et "@ram" sont affichés directement dans le mail reçu.
\#!/usr/bin/perl
@hdd = grep {$_ >50} (\`df -H`=~/(\S+%)/g);
@ram = \`free | grep Mem | awk '{print \$3/\$2 * 100.0}'`;
use MIME::Lite;
$to = 'admin@company.co.in';
$from = 'alerts@company.co.in';
$subject = 'Alertes HDD / RAM';
$message = 'L'utilisation du % HDD est @hdd et l'utilisation du % RAM est @ram';
$msg = MIME::Lite->new(
From => $from,
To => $to,
Cc => $cc,
Subject => $subject,
Data => $message
);
$msg->send;
Excusez-moi si la question est un peu vague. Mais en tant que débutant, veuillez être assez aimable pour m'aider.