Как создать сценарий Perl, который проверяет системную статистику (ЦП, ОЗУ, жесткий диск) и отправляет письмо с предупреждением? [closed]

Сценарий предназначен для добавления на вкладку cron. Последовательность выполнения сценария оболочки должна быть такой. { {1}} 1. Проверяет состояние ЦП. 2. Проверяет использование ОЗУ. 3. Проверяет использование жесткого диска. 4. Отправляет письмо с предупреждением получателям, если какое-либо из них превышает пороговое значение. (скажем, 90%)

@ match = grep {$ _> 90} ( df -H = ~ / (\ S +%) / g);

print "@matches \ n" ;

Возвращает результат 'df _H', если он превышает 90%

для ОЗУ,

свободно | grep Mem | awk '{print $ 3 / $ 2 * 100.0}'

Приведенная выше команда возвращает использование ОЗУ в процентах

Теперь это следует сравнить с порогом в 80%. Затем, если какой-либо из параметров Приведенные выше значения [HDD / RAM] находятся на высоком уровне, программа должна отправить письмо с добавлением результата команды 'top' в нем, чтобы показать использование процессора.

Пожалуйста, помогите.

Это должно быть добавлено на вкладку cron для запуска через равные промежутки времени. Пожалуйста, обновите.

0
задан 14 May 2015 в 13:41

1 ответ

Давайте запустимся.

Создают load.sh, сценарий

nano /path/load.sh

#!/bin/bash

#we use output from "uptime" i "w" to have load on 5 min

UPTIME=`uptime`;
W=`w`;
RAM=`free -m`;
DATE=`date`;
sleep 3
DF=`df -h`
sleep 3

echo "######################################" >> /var/log/load-result/load_log
echo "$DATE" >> /var/log/load-result/load_log
echo "" >> /var/log/load-result/load_log
echo "UPTIME:" >> /var/log/load-result/load_log
echo "" >> /var/log/load-result/load_log
echo "$UPTIME" >> /var/log/load-result/load_log
echo "" >> /var/log/load-result/load_log
echo "W COMMAND:" >> /var/log/load-result/load_log
echo "" >> /var/log/load-result/load_log
echo "$W" >> /var/log/load-result/load_log
echo "" >> /var/log/load-result/load_log
echo "FREE RAM:" >> /var/log/load-result/load_log
echo "$RAM" >> /var/log/load-result/load_log
echo "" >> /var/log/load-result/load_log
echo "FREE SPACE:" >> /var/log/load-result/load_log
echo "" >> /var/log/load-result/load_log
echo "$DF" >> /var/log/load-result/load_log
echo "" >> /var/log/load-result/load_log
echo "#####################################" >> /var/log/load-result/load_log

дает разрешение

chmod 777 /path/load.sh

сценария X, Создают dir для хранения файла журнала

sudo mkdir /var/log/load-result

, Создают сценарий для отправки, письма

nano /path/mail.sh

mail -s Load_From_PC soma@email.com < /var/log/load-result/load_log

Дают X mail.sh

chmod 777 /path/mail.sh

, Создают задания крона

sudo crontab -e

*/5 * * * * /path/load.sh
00 11 * * * /path/mail.sh

load.sh, будет выполняемый на каждых 5 минутах и следовать из сценария, будет добавлен в нижней части в файле журнала.

mail.sh будет инициирован каждый день в 11:00 h

, можно изменить время...

0
ответ дан 14 May 2015 в 13:41

Другие вопросы по тегам:

Похожие вопросы: