shell script monitoring cpu / memory usage

The script detects the usage of cpu and memory. It only needs to adjust the email address of memorySetting, cpu setting and userEmail to send email alarm
If you don't have a friend who has configured the email parameters, you can fly to the code area
1.vim /etc/mail.rc
2. Find the following
set #From what
set ා fill in according to your email server, this is TX's corporate email
set #Mailbox user name
Set SMTP auth password = your password. Please note that it is the email password. Some email service providers have different login password and email password
set smtp-auth=login
If you think it's useful, just move away, don't contact me!!!

#auth yangxingyi 2017-12-12 17:50
#this script  check cpu used rate and memory used rate
#check memory used rate 
totalMemory=$(free -m|awk  '{print $2}'|sed -n '2p')
usedMemory=$(free -m|awk  '{print $3}'|sed -n '3p')
freeMemory=$(free -m|awk  '{print $4}'|sed -n '3p')
usedPerMemory=$(awk 'BEGIN{printf "%.0f",('$usedMemory'/'$totalMemory')*100}')
freePerMemory=$(awk 'BEGIN{printf "%.0f",('$freeMemory'/'$totalMemory')*100}')
if [ $usedPerMemory -ge $memorySetting  ]
     minfo="totalMemory:$totalMemory MB,used:$usedMemory MB,free:$freeMemory MB,usedPercent:$usedPerMemory%,freePrecent:$freePerMemory%"
     echo "$(date) $minfo used memory was gt $memorySetting% !" >> /sh/log_hard_disk_check
     echo " $minfo {$webIp}!" | mail -s "{$webIp} used memory was high!"  $userEmail

#check cpu used rate
cpuUsed=$(top -n 1 | awk -F '[ %]+' 'NR==3 {print $2}'|awk -F '.' '{print $1}')
if [ $cpuUsed -gt $cpuSetting ]
      echo  "$(date) cpu used $cpuUsed% "
      echo  "$(date) cpu used $cpuUsed%"|mail -s "$webIp cpu used $cpuUsed%" $userEmail

Tags: vim

Posted on Tue, 02 Jun 2020 11:32:43 -0400 by utpal