在工作中,需要对几十台服务器周期性修改密码,服务器信息涉及IP地址,登录用户名和密码,而且密码复杂程度要很高,键盘上能输入的基本都作为密码使用,长度十几位。
所以我用delphi编制了一个软件,凡是命令行的服务器,交换机,路由器等等都可以使用,它的思路是:输入一条指令,等待期望的输出,如果输出了期待值,然后继续下一条指令,如此往复,直到所有指令完成。
例如:
输入ssh 192.168.1.6,期待值是login,login出现后,则输入root,继续期待password,password出现后则输入密码,继续期待提示符......
简单吧?
后来扩大了使用范围,比如登录服务器执行一些操作,例行检查,查看日志等等。
功能又增加了对输出结果的简单分析,例如出现指定字符,则额外提示;或者没有出现指定字符也额外提示等等。比如查询一些状态,如果结果出现error等字眼,则需要对此复查。这样就自动帮你找出你希望的字符了。
类似应用可以继续扩大。。。
例如ftp文件,ping等。
不足之处:对于linx输出的颜色部分,没有处理,有点乱。比较喜欢规规矩矩的输出。