做运维的人大概都有体会,一个变更要登录服务器,输入IP、用户、密码一台台服务器登录,花时间还没成就感。遇上几十台上百台的变更,登录的时间得花个把小时了。 有没有比较方便的办法呢,其实很简单,secureCRT+简单的VB脚本就能做到。 一、首先我们要安装secureCRT 7以上版本,先登录一台服务器保证CRT可以正常使用 二、把以下内容拷贝到一个txt里,把文件名修改为自动登录.vbs ' Written by Suren Const ForReading = 1 Dim fso, iplistpath , iplist, StrIp, StrPwd Dim loginuser '======================path and some parameters ========================================== iplistpath=".\ip.txt" loginuser = InputBox("请输入用户:") '登陆用户 StrPwd=InputBox("请输入密码:") 'MsgBox("Your Password is " & StrPwd) '=======================open file================================================== Set fso = CreateObject("Scripting.FileSystemObject") Set iplist = fso.OpenTextFile(iplistpath , ForReading, False) ' ip-list file path '========================end open================================================== Do While iplist.AtEndOfStream <> True StrIp = Trim(iplist.Readline) If StrIp <> "" Then cmd = "/ssh2 /L " & loginuser &" /PASSWORD " & StrPwd & " /C 3DES " & StrIp crt.Session.ConnectInTab cmd End If Loop 三、在脚本同一目录下,新建一个ip.txt,然后把要登录的IP输入进去 四、打开secureCRT,选择脚本-运行-选中你刚才编辑的自动登录.vbs,按提示输入用户密码即可 从此一次登录个几十台服务器不在话下了,再利用secureCRT的send chat to all session的功能,可以实现变更、维护的批量操作。后来根据需要又做了很多版本,比如不用默认的ip.txt,而是手工选择ip文件;将ip.txt中写入用户名和密码,不同用户密码的服务器也可以批量登陆,这里就不一一列举了。 当然互联网公司几千几万的同一种服务器,就需要专门的工具了。不过大部分传统企业,比如像我们这种巨型银行,同一类服务器最多也就几百台,这种办法就会比较合适。 适合自己的就是最好的。 |
|