xshell、CRT上使用vbscript更高效连接定位到服务器以及目录、数据库


这篇文章分享一个好用的脚本,用在xshell和CRT上,真的很爽,也是简单的不要不要的。
当负责的项目有多个环境,看日志需要到Linux环境下,数据库也不能用navicat等工具连接,这个时候只能使用xshell或者CRT进入对应的机器,但是这里存在的麻烦就是机器太多(测试环境、演示环境、生产环境),每次都要用ssh命令在不同的机器之间跳来跳去,很麻烦。因此这里可以用vbscript来让这些操作不再麻烦,直接自动操作即可。

1. vbscript在xshell软件上的脚本

vbscript在xshell和CRT上脚本稍微有点不同,所以这里分开来看,先看xshell下的。

Sub Main
    xsh.Screen.Synchronous = true '*** 设置异步 ***
    xsh.Session.Sleep 100 '*** 设置休眠时间 ***
    xsh.Screen.Send ssh "root@192.168.0.22" '*** 连接到对应的机器 ***
    xsh.Screen.Send vbcr '*** 回车符,上面的内容输入完以后需要回车确定 ***
    xsh.Session.Sleep 100
    xsh.Screen.WaitForString "password:"  '*** 等待出现指定的字符串 ***
    xsh.Screen.Send "pwd001"  '*** 输入密码 ***
    xsh.Screen.Send vbcr
    xsh.Session.Sleep 100
    xsh.Screen.Send cd "/usr/local/src/logs" '*** 进入到日志目录 ***
end Sub 

需要注意的几点说明:

  • 这里操作之间会加上一个休眠时间,模拟人的行为,但是主要的是,如果每个命令直接衔接的太紧密可能会导致命令的执行失败,因为在每个命令执行后,多多少少会有一个执行的过程和输出内容,都是需要时间的。
  • vbcr这个是回车的意思,标准的写法是VbCr,有大小写,如果你使用全小写出现问题,建议规范的改成标准写法。
  • 这里xsh命令和后面具体的指令值用空格隔开,也可以将后面的指令放在括号里。如:xsh.Screen.Send(VbCr)
  • 还有一个就是回车和上一行的命令可以合并成一行,简化代码。如:xsh.Screen.Send "pwd001" & VbCr
  • 这里还有一个坑,在使用mysql命令来连接数据库的时候,需要在语句后面加上分号(”;”)。如:xsh.Screen.Send "mysql -h xxx -u xxx -pxxx;"

2. vbscript在CRT软件上的脚本

xshell上的脚本写完了,CRT上的脚本其实就不用写了,他们直接的不同之处就是命令的前缀不同,xshell使用的是xsh.,CTR上使用的是crt.。直接把上面的脚本拿下来,直接替换即可。

3. xshell导入脚本的引导

  • 创建会话,输入对应的主机名、登录用户名和密码。
  • 在新建会话窗口的右侧选择”登录脚本”,然后选择第二个复选框”连接回话时运行脚本”。
  • 点下面的选择框,到文件所在的目录下,将刚才写好的脚本文件引入到里面即可。(脚本文件是以.vbs为后缀)

至于CRT如何导入脚本可以根据上面的步骤来,可能会有所不同,但是基本思路是一样的,希望能帮助到你。

4. 补充

之前都是一直使用xshell,现在换成CRT,我按照上面的内容去替换xsh.crt.出现了问题。在经过网上资料的查阅知道,做了一点修改。

在CRT的脚本中,只是替换xsh.是不够的,如果用到Sleep指令,需要将Sleep前的Session去掉,否则会报错。


文章作者: 程序猿洞晓
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 程序猿洞晓 !
评论
 上一篇
logback新认识(一):logback主要组件appender、rollingPolicy和triggeringPolicy的使用和理解 logback新认识(一):logback主要组件appender、rollingPolicy和triggeringPolicy的使用和理解
logback日志必备。平时在新建项目的时候都是Ctrl+C和Ctrl+V,完全不要自己做什么,不管使用Springmvc还是Springboot都不需要配置logback.xml文件的位置,直接将logback.xml放到resources目录下,命令符合要求即可。但是真正懂或者了解logback里面的各项配置的却少之又少。现在工作……
2018-12-18
下一篇 
项目中手机、姓名、身份证信息等在日志和响应数据中脱敏操作 项目中手机、姓名、身份证信息等在日志和响应数据中脱敏操作
项目日志打印请求的入参和出参,用来跟踪数据信息,方便根据日志信息排查问题,在涉及到用户敏感信息的时候,为了安全的考虑,不能直接将这些信息直接输出到日志文件中,需要做脱敏操作。如果这个脱敏操作放在项目的业务代码中,只要出现需要脱敏的信息就进行一次脱敏操作,这样会有很多脱敏的代码冗余;如果将脱敏的逻辑代码提出来,在需要脱敏的位置……
2018-12-12
  目录