Я совместно использую сценарий жемчуга здесь, который, как предполагается, отправляет почту с состоянием HDD/RAM в теле сообщения: Кроме того, жесткий диск произойдет, только если использование %HDD выше 50%.
Как я могу включать заявленные переменные (здесь, @hdd
и @ram
) в теле сообщения?
Как я могу сделать программу оконечной, не отправляя почту, если использование жесткого диска ниже 50%..? Или просто, почтовая программа должна работать, если и только если % жесткого диска выше 50%.
В ниже сценария, хорошо работает часть проверки жесткого диска/RAM, а также почтовая часть отправки также хорошо работает. Кроме, вместо значений жесткого диска/RAM, "@hdd" и "@ram" отображены непосредственно в полученной почте.
\#!/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 = 'HDD / RAM alerts';
$message = 'The % HDD usage is @hdd and the % RAM usage is @ram';
$msg = MIME::Lite->new(
From => $from,
To => $to,
Cc => $cc,
Subject => $subject,
Data => $message
);
$msg->send;
Простите мне, если вопрос немного широк. Но будучи новичком, быть достаточно любезным для помощи ему.
Используйте двойную кавычку "
вместо одинарной кавычки '
в $message
. Вы заблокировали расширение переменных/массивов.
$message = "The % HDD usage is @hdd and the % RAM usage is @ram";