시스템 CPU 사용량과 메모리 사용량을 모니터링하기 위해 쉘 스크립트를 작성했습니다. 내 시스템이 특정 임계값(예: 90%)에 도달했다는 알림을 이메일로 보내는 방법을 알아야 합니다.
내 코드:
#! /bin/bash
printf "Date\t\t\tMemory\t\tDisk\t\tCPU\n"
end=$((SECONDS+30))
while [ $SECONDS -lt $end ]; do
CURRENTDATE=`date +"%Y-%m-%d %T"`
MEMORY=$(free -m | awk 'NR==2{printf " \t%.2f%%\t\t", $3*100/$2 }')
DISK=$(df -h | awk '$NF=="/"{printf "%s\t\t", $5}')
CPU=$(top -bn1 | grep load | awk '{printf "%.2f%%\t\t\n", $(NF-2)}')
echo ${CURRENTDATE} "$MEMORY$DISK$CPU"
done
답변1
아마도 모니터링 솔루션(Nagios, Zabbix FTW!)을 사용해야 할 것입니다. 그러나 정말로 사용자 정의 스크립트를 사용하고 싶다면 mail
프로그램을 사용할 수 있습니다.
echo "Current CPU USAGE $CPU" | mail -s "This is subject like: CPU WARNING" [email protected]
을 사용할 수도 있습니다 ssmpt
. 테스트하지는 않았지만 이에 대한 간단한 기사가 있습니다.https://www.howtogeek.com/51819/how-to-setup-email-alerts-on-linux-using-gmail/.