SecureCRT工具的使用技巧和脚本的定时执行
2017-04-08 11:51
1426 查看
SecureCRT是一个很方便的远程控制linux系统的命令行工具。在SecureCRT的使用技巧中,常用的就按钮栏和录制脚本。
在SecureCRT中您可以配置自己的按钮栏,在按钮栏上定制添加一些常用操作的按钮。这样通过一键鼠标点击就可以搞定常用输入或常用操作,例如tail查看某个文件或cd到某个目录,非常地便捷。
SecureCRT另外一个常用的功能就是录制脚本,可以将一些更长的命令行输入,录制成为一个可以回放的VBScript小程序。例如,固定从某个ftp的目录下获取版本,然后进行无界面的升级安装。通过录制脚本的回放,也是一键就可以搞定一些复杂但是固定的常用操作,非常的便捷!
SecureCRT录制的小程序,可以进一步经过适当的改造,就可以达到在不同机器上进行“回放”。主要就是参数化crt.Screen.WaitForString 语句、某些可以不使用waitForString的场景,使用更普适的crt.Screen.WaitForCursor、以及一些必须的延时等待,可以使用特殊形制和更表义的crt.Screen.WaitForString脚本语句。这些特殊形制的crt.Screen.WaitForString,其等待的字符串为永远不可能出现,但更表义的字符串,直至等到超时。例如:
If crt.screen.WaitForString("waitForUpdateFinish:", 90) <> False Then
End If
在个人的实践中,通过对某些执行语句,辅助以>>/dev/null,避免光标频繁移动,避免使得crt.Screen.WaitForCursor的满足条件生效,大部分的crt.Screen.WaitForString都可以替换为crt.Screen.WaitForCursor,。
那么这些常用操作,如何能够定时执行呢?不巧的是,secureCRT不提供这种功能,需要借助windows系统的任务计划程序。利用bat批处理程序,将执行语句%SecureCRT_HOME%\SecureCRT.exe /POS 0 0 /S "yourRmoteHostConfigConnectName" /SCRIPT yourRecord.vbs加入定时任务,则可以实现定时执行。
如果仅靠录制的脚本定时执行的话,定时执行完毕后,会存在一个残留的SecureCRT程序,也很是不爽!在对于录制脚本的研究中,SecureCRT的帮助文档起到很大的作用,发现SecureCRT支持的脚本中,还可以关闭连接、进而关闭程序:
crt.Session.Disconnect
crt.Quit
这两个操作比较暴力,最好是在正确的crt.Screen.WaitForString或适当地能够保证成功完成的超时时间之后才执行。
保证录制脚本执行后关闭临时SecureCRT的实践,结合持续集成Jenkins环境,就无缝地在某些特定用途的场景下,实现版本的自动部署了。
PS:某些同学认为利用SecureCRT命令按钮和回放脚本,可能会使得忘记一些linux shell命令。我想是这种后果有可能的,所以,建议这些操作,是在您浸淫很多次后,为了一些偷懒的目的玩玩吧:)
在SecureCRT中您可以配置自己的按钮栏,在按钮栏上定制添加一些常用操作的按钮。这样通过一键鼠标点击就可以搞定常用输入或常用操作,例如tail查看某个文件或cd到某个目录,非常地便捷。
SecureCRT另外一个常用的功能就是录制脚本,可以将一些更长的命令行输入,录制成为一个可以回放的VBScript小程序。例如,固定从某个ftp的目录下获取版本,然后进行无界面的升级安装。通过录制脚本的回放,也是一键就可以搞定一些复杂但是固定的常用操作,非常的便捷!
SecureCRT录制的小程序,可以进一步经过适当的改造,就可以达到在不同机器上进行“回放”。主要就是参数化crt.Screen.WaitForString 语句、某些可以不使用waitForString的场景,使用更普适的crt.Screen.WaitForCursor、以及一些必须的延时等待,可以使用特殊形制和更表义的crt.Screen.WaitForString脚本语句。这些特殊形制的crt.Screen.WaitForString,其等待的字符串为永远不可能出现,但更表义的字符串,直至等到超时。例如:
If crt.screen.WaitForString("waitForUpdateFinish:", 90) <> False Then
End If
在个人的实践中,通过对某些执行语句,辅助以>>/dev/null,避免光标频繁移动,避免使得crt.Screen.WaitForCursor的满足条件生效,大部分的crt.Screen.WaitForString都可以替换为crt.Screen.WaitForCursor,。
那么这些常用操作,如何能够定时执行呢?不巧的是,secureCRT不提供这种功能,需要借助windows系统的任务计划程序。利用bat批处理程序,将执行语句%SecureCRT_HOME%\SecureCRT.exe /POS 0 0 /S "yourRmoteHostConfigConnectName" /SCRIPT yourRecord.vbs加入定时任务,则可以实现定时执行。
如果仅靠录制的脚本定时执行的话,定时执行完毕后,会存在一个残留的SecureCRT程序,也很是不爽!在对于录制脚本的研究中,SecureCRT的帮助文档起到很大的作用,发现SecureCRT支持的脚本中,还可以关闭连接、进而关闭程序:
crt.Session.Disconnect
crt.Quit
这两个操作比较暴力,最好是在正确的crt.Screen.WaitForString或适当地能够保证成功完成的超时时间之后才执行。
保证录制脚本执行后关闭临时SecureCRT的实践,结合持续集成Jenkins环境,就无缝地在某些特定用途的场景下,实现版本的自动部署了。
PS:某些同学认为利用SecureCRT命令按钮和回放脚本,可能会使得忘记一些linux shell命令。我想是这种后果有可能的,所以,建议这些操作,是在您浸淫很多次后,为了一些偷懒的目的玩玩吧:)
相关文章推荐
- linux cron 下的定时执行工具使用技巧
- linux cron 下的定时执行工具使用技巧
- 工具 07 使用crontab,让linux定时执行shell脚本
- windows下使用PHP实现定时执行脚本
- 在linux下定时执行PHP脚本(定时执行crontab使用方法详解)
- Linux-crontab命令工具设置定时任务用于执行DB2脚本
- crontab中使用环境变量的方法(手动执行shell脚本可以,在定时任务中不行)
- linux中使用crontab定时执行程序(PHP脚本.sh等等各种)
- 如何使用Linux的Crontab定时执行PHP脚本的方法
- linux下使用cronjob定时执行php脚本
- Tcl/tk实例—使用tclkit工具将脚本打包成可执行文件(.exe)
- SQLServer按顺序执行多个脚本的方法(sqlcmd实用工具使用方法)
- 在linux下定时执行PHP脚本(定时执行crontab使用方法详解)
- 使用Linux的Crontab定时执行PHP脚本
- linux下使用crond 定时执行php脚本
- 使用sae定时执行Python脚本
- windows下使用PHP实现定时执行脚本
- secureCRT使用心得---自动登录服务器,自动执行脚本及自动
- windows下使用PHP实现定时执行脚本
- 使用SQLServer2000的isql工具完成在UE中执行sql脚本