免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2941 | 回复: 0
打印 上一主题 下一主题

[高级应用] VIO学习之expect进阶 [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-10 20:26 |只看该作者 |倒序浏览

    学习并使用EXPECT后,AIX日常检查工作可实现自动化——从一个单点检查全局。每早8:00单点(某LPAR)用crontab触发一个任务,检查所有LPAR,然后将结果汇总并发送系统管理员的邮箱内。
    下面是某天的检查结果内容(IP地址等信息被修改过):
>-----Original Message-----
> 发件人:
[email=root@VIOS2]root@VIOS2[/email]

> 日期: Thu, 5 Jun 2008 08:02:17 +0800
> 收件人:
dailyck@XXX.cn

> 主题: AIX DAILY CHECK 08-06-05 08:01
> 31 out of 31 LPARs have been checked.
>
> ST-WMDB is 9.1.173.234
> Jun 05 9.1.173.241 pts dailyck
>
> ST-WMP is 9.1.173.233
> Jun 05 9.1.173.241 pts dailyck
> Jun 04 99.1.99.236 pts root
> Jun 04 99.1.99.236 ftp root
> Jun 04 9.1.173.241 pts dailyck
> Jun 04 9.1.170.94 pts root
>
> UAT-FTP is 9.1.172.230
> F89FB899 0604150008 P O dumpcheck The copy directory is too small.
> 97% /usr
> Jun 05 9.1.172.241 pts dailyck
> Jun 04 9.1.172.241 pts dailyck
>
> ST-FREE is 9.1.173.246
> F89FB899 0604150008 P O dumpcheck The copy directory is too small.
> 88% /opt
> Missing hdisk0 vscsi0
> Missing hdisk0 vscsi1
> Missing hdisk1 vscsi0
> Missing hdisk1 vscsi1
> Missing hdisk2 vscsi0
> Missing hdisk2 vscsi1
> Missing hdisk3 vscsi0
> Missing hdisk3 vscsi1
> Jun 05 9.1.173.241 pts dailyck
> Jun 04 9.1.173.241 pts dailyck
> Jun 04 9.1.170.99 pts chengjy
> Jun 04 9.1.170.99 ftp chengjy
> Jun 04 9.1.170.94 pts root
>
> ST-BIFE is 9.1.173.243
> F89FB899 0604150008 P O dumpcheck The copy directory is too small.
> 98% /usr
> 88% /opt
> 91% /db2space
> Jun 05 9.1.173.241 pts dailyck
> Jun 04 9.1.173.241 pts dailyck
>
> ST-MBFE1 is 9.1.173.235
> Jun 05 9.1.173.241 pts dailyck
>
> UAT-MBFE1 is 9.1.172.235
> 89% /usr
> Jun 05 9.1.172.241 pts dailyck
> Jun 04 9.1.172.241 pts dailyck
> Jun 04 9.1.170.94 pts root
>
> UAT-MBFE2 is 9.1.172.236
> 89% /usr
> Jun 05 9.1.172.241 pts dailyck
> Jun 04 9.1.172.98 pts cmbmbfe
> Jun 04 9.1.172.241 pts dailyck
>
> ST-MBFE3 is 9.1.173.237
> 89% /usr
> Jun 05 9.1.173.241 pts dailyck
> Jun 04 9.1.173.241 pts dailyck
>
> ST-MBFE2 is 9.1.173.236
> 99% /home/cmbmbfe
> Jun 05 9.1.173.241 pts dailyck
> Jun 04 9.1.173.241 pts dailyck
>
> UAT-DW is 9.1.172.244
> F89FB899 0604150008 P O dumpcheck The copy directory is too small.
> 98% /usr
> 88% /opt
> 91% /db2space
> Jun 05 9.1.172.241 pts dailyck
> Jun 04 9.1.172.241 pts dailyck
>
> ST-CRM is 9.1.173.242
> F89FB899 0604150008 P O dumpcheck The copy directory is too small.
> 98% /usr
> 88% /opt
> 91% /db2space
> Jun 05 9.1.173.241 pts dailyck
> Jun 04 9.1.173.241 pts dailyck
>
> ST-DW is 9.1.173.244
> F89FB899 0604150008 P O dumpcheck The copy directory is too small.
> 93% /var
> Jun 05 9.1.173.241 pts dailyck
> Jun 04 ST-DW rsh db2inst1
> Jun 04 99.1.99.62 pts dwadm
> Jun 04 99.1.99.62 pts db2inst1
> Jun 04 99.1.99.62 ftp dwadm
> Jun 04 99.1.99.236 pts wmsadm
> Jun 04 99.1.99.236 ftp wmsadm
> Jun 04 99.1.99.228 pts dwadm
> Jun 04 99.1.99.19 ftp dwadm
> Jun 04 9.1.173.241 pts dailyck
> Jun 04 9.1.170.94 pts root
> Jun 04 99.1.64.134 pts db2inst1
>
> VIOS2 is 9.1.172.241
> Jun 05 VIOS2 pts dailyck
> Jun 04 VIOS2 pts dailyck
> Jun 04 9.1.170.94 pts padmin
>
> VIOS1 is 9.1.172.240
> Jun 05 9.1.172.241 pts dailyck
> Jun 04 9.1.172.241 pts dailyck
> Jun 04 9.1.170.94 pts padmin
>
> svt6k01 is 9.1.172.70
> 97% /usr
> 94% /home/cbank
> Jun 05 9.1.172.241 pts dailyck
> Jun 04 9.1.172.99 pts qsmsadm
> Jun 04 9.1.172.63 pts qsmsadm
> Jun 04 9.1.172.61 pts qatm
> Jun 04 9.1.172.241 pts dailyck
> Jun 04 9.1.170.94 pts root
> Jun 04 9.1.170.78 pts root
> Jun 04 99.1.64.183 pts qatm
>
> UAT-WMDB is 9.1.172.234
> Jun 05 9.1.172.241 pts dailyck
>
> UAT-NI is 9.1.172.74
> 97% /usr
> 90% /db2home
> 91% /soft
> Jun 05 9.1.172.241 pts dailyck
>
> ST-WMP is 9.1.172.233
> Jun 05 9.1.172.241 pts dailyck
> Jun 04 9.1.172.241 pts dailyck
>
> UAT-MBFE3 is 9.1.172.237
> F89FB899 0604150008 P O dumpcheck The copy directory is too small.
> 87% /usr
> 87% /opt
> Jun 05 9.1.172.241 pts dailyck
> Jun 04 9.1.172.98 pts cmbmbfe
> Jun 04 9.1.172.241 pts dailyck
>
> UAT-STOCK is 9.1.172.71
> Jun 05 9.1.172.241 pts dailyck
>
> svt6k01 is 9.1.173.70
> 89% /home/cbank
> Jun 05 9.1.173.241 pts dailyck
> Jun 04 9.1.173.241 pts dailyck
>
> TEST is 9.1.173.249
> F89FB899 0603150008 P O dumpcheck The copy directory is too small.
> Jun 05 9.1.173.241 pts dailyck
>
> ST-STOCK is 9.1.173.71
> 86% /home
> Jun 05 9.1.173.241 pts dailyck
>
> NIMMASTER is 9.1.173.231
> F89FB899 0603150008 P O dumpcheck The copy directory is too small.
> 97% /usr
> 88% /opt
> 93% /export/spot
> Jun 05 9.1.173.71 ftp zbackup
> Jun 05 9.1.173.70 ftp zbackup
> Jun 05 9.1.173.241 pts dailyck
> Jun 05 9.1.172.71 ftp zbackup
> Jun 05 9.1.172.70 ftp zbackup
>
> VIOS3 is 9.1.172.242
> Jun 05 9.1.172.241 pts dailyck
>
> VIOS4 is 9.1.172.243
> Jun 05 9.1.172.241 pts dailyck
>
> ST-GANGLIA is 9.1.173.230
> F89FB899 0604150008 P O dumpcheck The copy directory is too small.
> 98% /usr
> 88% /opt
> Jun 05 9.1.173.241 pts dailyck
> Jun 04 9.1.173.241 pts dailyck
>
> ST-TAX is 9.1.173.232
> Jun 05 9.1.173.241 pts dailyck
> Jun 04 QMYJH ftp taxtst
> Jun 04 QMA001_DEV ftp taxtst
> Jun 04 99.1.99.194 pts db2inst1
> Jun 04 99.1.99.150 pts taxtst
> Jun 04 9.1.173.241 pts dailyck
> Jun 04 9.1.170.62 pts taxtst
> Jun 04 9.1.170.62 pts db2inst1
>
> UAT-TAX is 9.1.172.232
> Jun 05 9.1.172.241 pts dailyck
> Jun 04 9.1.172.241 pts dailyck
>
    检查的内容目前包括(根据需要可随时调整):
每LPAR昨日开始的errpt错误日志
是否有使用率超过85%的文件系统
磁盘多路径IO状态是否有异常
昨日至今都有哪些用户、IP登录过本LPAR。
cat  /bin/dailyck.exp
#!/usr/bin/expect -f
#DATE: 2008-06-03
#email:
beginner@yeah.net
#blog:
http://blog.chinaunix.net/index.php?blogId=739
   
http://www.cublog.cn/u/739/
set timeout 10
set username dailyck
set passwd 此处需要改成真密码
set logname /home/padmin/dailyck.log
match_max 10000
log_user 0
spawn telnet [lindex $argv 0]
expect "ogin:"
sleep .1
send -- "$username\r"
expect "assword:"
sleep .1
send -- "$passwd\r"
sleep .1
log_file $logname
expect        {
        "
\\$
"
                {send -- "export PS1=$\r"}
        "#"
                {send -- "export PS1=$\r"}
        "invalid login name or password"
                {send_log "\n\n[lindex $argv 0] The password is wrong\n\n"; exit 1}
        timeout
                {send_log "\n\n[lindex $argv 0] Timeout\n\n"; exit 2}
        eof
                {send_log "\n\n[lindex $argv 0] Connection to host failed: expect_out(buffer)\n\n"; exit 3}
        }
log_user 1
expect -exact "\r
\$"
send -- "ksh 1, sub(/%/,\"\",\$4){if ( \$4 > 85 ) print \$4\"%\\t\"\$NF}'\r"
send -- "lspath | grep -v ^Enabled\r"
#send -- "today=`date | awk '{print \$2\" \"\$3 \" |\"\$2\" 0\"\$3\" \"}'`\r"
#send -- "yestoday=`TZ=+24 date | awk '{print \$2\" \"\$3\" |\"\$2\" 0\"\$3\" \"}'`\r"
#send -- "eval last \\| egrep \"'(\$yestoday|\$today)'\" | \\\r"
#send -- "awk 'BEGIN{OFS=\"
\\t\
"} NF==9 {sub(/\\/.*/,\"\",\$2); print \$4,\$5,\$3,\$2,\$1}; NF\\\"'; yestoday='\\\"\"\$yestoday\"\\\"'} \\\r"
send -- "\$0 !~ today && \$0 !~ yestoday {exit}; NF==9 {sub(/\\/.*/,\"\",\$2); sub(/rsh.*/,\"rsh\",\$2); \\\r"
send -- "print \$4,\$5,\$3,\$2,\$1}; NF /bin/dailyck.ksh
#!/usr/bin/ksh
#DATE: 2008-06-03
#email:
beginner@yeah.net
#blog:
http://blog.chinaunix.net/index.php?blogId=739
   
http://www.cublog.cn/u/739/
[email=SENDTO=dailyck@[9.1.172.230]SENDTO=dailyck@[9.1.172.230[/email]
]
[email=CC=dailyck@[9.1.172.230]CC=dailyck@[9.1.172.230[/email]
]
LOG=/home/padmin/dailyck.log
LOGCOUNT=/home/padmin/dailyck.count
MAILFILE=/home/padmin/dailyck.mail
> $LOG
> $LOGCOUNT
#9.1.173.247 9.1.8.51 VIOS12
#9.1.172.50 LPAR ID 1 VIOS12
for i in `ssh
hscroot@9.1.175.230
"lspartition -dlpar" | awk -F[\ \>] '/99.1/ {print $(NF-1)}'|egrep -v '(73.247|72.50)'`; do
  /usr/bin/dailyck.exp $i
  echo $i $? >> $LOGCOUNT
done
for i in `ssh
hscroot@9.1.175.231
"lspartition -dlpar" | awk -F[\ \>] '/99.1/ {print $(NF-1)}'`; do
  /usr/bin/dailyck.exp $i
  echo $i $? >> $LOGCOUNT
done
echo `awk '$2==0' $LOGCOUNT | wc -l`" out of "`cat $LOGCOUNT | wc -l`" LPARs have been checked.\n" >$MAILFILE
awk '$2!=0' $LOGCOUNT >>$MAILFILE
tr -d "\015" >$MAILFILE
cat $MAILFILE | mail -s "AIX DAILY CHECK `date +'%y-%m-%d %H:%M'`" -c "$CC" $SENDTO
!!
chmod +x /bin/dailyck.ksh
========================================================================
任何形式的转载,请写明出处:
email:
beginner@yeah.net
blog:
http://blog.chinaunix.net/index.php?blogId=739
   
http://www.cublog.cn/u/739/
========================================================================


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/739/showart_734229.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP