1 [root@zenghui expect]# cat ssh_dsa.exp 2 #!/usr/bin/expect 3 set ip [lindex $argv 0] 4 set pass [lindex $argv 1] 5 set port [lindex $argv 2] 6 set user [lindex $argv 3] 7 set id_dsa [lindex $argv 4] 8 9 if { $id_dsa == "1" } {set id "id_dsa_wdzj";set i "-i"10 spawn ssh $i $id -p $port $user@$ip "df -hP;free -m;uptime"11 expect {12 "*(yes/no)?" {send "yes\r"; exp_continue}13 "*password:" { send "$pass\r"}14 "*id_dsa_wdzj':" { send "$pass\r"}15 }16 }17 if { $id_dsa == "0" } {18 spawn ssh -p $port $user@$ip "df -hP;free -m;uptime"19 expect {20 "*(yes/no)?" {send "yes\r"; exp_continue}21 "*password:" { send "$pass\r"}22 }23 }24 25 expect eof
1 [root@zenghui expect]# cat email_ssh.sh 2 #!/bin/bash 3 4 DIR='/root/shell/expect' 5 6 function Ssh(){ 7 clear 8 >$DIR/dev.log 9 >$DIR/dev2.log10 11 echo 'disk && NR >3) print $1,$5,$NF}'`38 echo " Df_nr) print $0}' $DIR/ssh.log | awk -v mem=$mem '{if (NR==1) {b=$3/$2*100;a=$0}}END{if (b>mem) print a}'| awk '{print "total:"$2,"used:"$3,"free:"$4}'`45 46 echo "
cpu、内存、磁盘使用情况表1.0 | ||||
ip | cpu负载大于1.0 | 磁盘大于80% | 内存大于90% | 时间 |
$ip | " >> $DIR/dev.log26 27 #---average---28 average=`tail -1 $DIR/ssh.log | awk -v avg=$avg -F"[,:]" '{if ($(NF-2) > avg) print $0}'| awk -F'load average:' '{print $2}'`29 echo "$average | " >> $DIR/dev.log30 #---endaverage---31 32 33 34 #---disk---35 Df_nr=`awk '{if ($1=="total") print NR}' $DIR/ssh.log`36 Free_nr=`awk '{if ($1=="Swap:") print NR+1}' $DIR/ssh.log`37 Disk=`awk -v Df_nr=$Df_nr '{if (NR$Disk | " >> $DIR/dev.log39 #---enddisk---40 41 42 43 #---mem---44 Free=`awk -v Free_nr=$Free_nr -v Df_nr=$Df_nr '{if (NR$Free | " >> $DIR/dev.log47 #---endmem---48 49 #---time---50 Date=`date +%Y-%m-%d" "%H:%M:%S`51 echo "$Date | " >> $DIR/dev.log52 #---endtime---53 54 echo '
1 [root@zenghui expect]# cat config.txt 2 115.29.x.x,password,22,user,13 115.29.x.x,password,22,user,14 121.40.x.x,password,22,user,15 115.29.x.x,password,2220,user,16 192.168.11.82,password,22,root,07 121.199.x.x,password,2220,user,18 192.168.11.83,password,22,root,09 121.41.x.x,password,2220,user,1