前两天一个同事问我能不能写一个东西,监控服务,服务报错,如果服务有问题播放声音报警。
我试了试,发现telnet 到window 上很容易的播放mp3,所以就像
shell 监控服务,服务有问题,telnent 到window, 播放不同的音乐。
但是在将telnet 写到脚本中就遇到了telnet 输入密码问题,
网上的答案主要是两种:
1.
(
sleep 1; echo "username)"
sleep 1; echo "pwd";
sleep 1; )|telnet IPaddress
2. 另一种就是使用expect
第一种是简单的,但是遇到了两个问题
从AIX 主机到另一个AIX 主机是没有问题的,但是AIX 到window 问题出现了,
不能实现输入密码
只能用第二种方法,但是需要安装expect,
安装方法可以在网上找到,
但是需要说明的是有的需要打补丁包,
选择cl8.4.11-src.tar.gz tar zxvf expect-5.43.0.tar.gz 能省去安装补丁包
expect 脚本:
#!/usr/expect/bin/expect -f
# 向远程服务器请求打开一个telnet会话,并等待服务器询问用户名
if {$argc<5} {
send_user "usage:$argv0 IP USER PWD TIME FILE\n"
exit
}
set KIP [lindex $argv 0]
set USER [lindex $argv 1]
set PWD [lindex $argv 2]
set TIME [lindex $argv 3]
set FILE [lindex $argv 4]
spawn telnet $KIP
expect "username:"
# 输入用户名j
send "$USER\r"
expect "Password:"
send "$PWD\r"
expect ">"
send "cd C:\\Program Files\\TTPlayer\r"
expect ">"
send "$FILE\r"
exec sleep 120
expect ">"
send "exit\r"
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21634752/viewspace-664978/ ,如需转载,请注明出处,否则将追究法律责任。