今天客户提出一个要求,说某某系统重启好要自动给他发条短信。要求看起来很简单,但要改程序,麻烦!!于是想看看能否用shell脚本来实现,上 ChinaUnix.com上找了一把,不负我望,有现成的,先感谢一下那位兄弟。
方法一:
(s=`stty -g`; stty raw -echo; //这句是设置为按raw方式输入, //且不回显输入,但会引起控制台 //输入输出混乱,可以不要。并且最好不要 sleep 1; echo root; //telnet 用户名 sleep 1; echo xxx; //telnet 密码 sleep 1; echo ll /tmp; //telnet后,执行ll /tmp sleep 2; echo exit; //退出telnet dd bs=1 cbs=1;stty $s) | telnet xxx.xxx.xxx.xxx | cat
脚本描述为自动登录到xxx.xxx.xxx.xxx 用户名/密码为:root/xxx,telnet登录后,执行完ll /tmp后又推出telnet。其可以更多添加相关的命令在脚本中。
=======================================
方法二:
用expect,但是expect命令在Solaris上要另外安装(www.sunfreeware.com上有), 例:
#!/usr/bin/expect -f set timeout 30 set passwd ***** spawn ssh -lroot -p22 X.X.X.X set timeout 1 expect "password:" send "$passwd\r" expect "#" send "ls -l >log.txt\r" expect eof