securecrt支持两种批量执行df -h和uptime命令的方式:一是通过chat window一键广播,实时同步发送至所有已连接会话;二是编写python脚本自动登录并执行,支持错误等待与会话自动触发。

当你需要在10台Linux服务器上同步执行df -h和uptime巡检命令,又不想逐个切换标签页敲一遍时,SecureCRT提供多种批量执行路径——从零配置的即时广播,到可复用、带错误处理的Python脚本,全部无需额外安装依赖。
用Chat Window一键广播命令
打开SecureCRT → 顶部菜单View → 勾选Chat Window → 终端下方立即出现灰色输入框。
在Chat Window区域右键 → 选择Send Chat to All Sessions。
确保所有目标会话已连接且处于激活状态(标签页呈高亮色),此时在Chat Window中输入df -h并回车,命令将【同时发送至所有已连接会话】,每台终端实时返回结果。
该方式不保存历史,不校验执行成功与否,仅适合无交互、低风险的瞬时巡检;若某台设备断连或卡在密码提示符,命令会静默失败,无任何报错提示。
用Python脚本自动登录+批量执行
方法一:录制后编辑成可靠脚本
先手动连一台典型服务器,执行hostname→df -h→exit,全程用Script → Start Recording录制;停止后保存为audit.py;用文本编辑器打开,将硬编码的IP/密码替换为变量,插入crt.Screen.WaitForString("$ ", 15)等待提示符,避免命令堆积发送。
方法二:直接编写最小可用脚本
# $language = "Python3"
# $interface = "1.0"
import time
def main():
tab = crt.GetScriptTab()
tab.Screen.Synchronous = True
tab.Screen.Send("hostname\r\n")
tab.Screen.WaitForString("$ ", 10)
tab.Screen.Send("df -h\r\n")
tab.Screen.WaitForString("$ ", 10)
main()
注意:【必须将脚本首行$language设为"Python3"】,否则SecureCRT调用内置Python 2.7导致f-string等语法报错。
让脚本随会话自动运行
第一步:在SecureCRT中打开一个已保存的会话(如“web-server-01”)→ 右键 → Properties → Logon Actions。
第二步:勾选“Logon script”,点击Browse选择你写好的audit.py文件 → 点击OK保存会话配置。
第三步:双击该会话图标重连 → 脚本自动触发,完成登录→等待提示符→发送命令→等待→退出全流程。
第四步:对其他会话重复第一步到第二步,全部配置完成后,可批量启动这些会话(会话管理器中Ctrl多选→右键Connect),每台设备独立运行脚本,互不干扰。
此方式要求每台设备登录后提示符一致(如均为$ ),若混用root用户(# )需在脚本中增加分支判断,否则WaitForString("$ ")将超时失败。











