SecureCRT全局发送相同命令,快速抓取服务器信息的方法
昨天,在新公司接到了第一个任务:统计所有服务器的几个信息。200 多台呢!一个台一台的去执行命令也太苦逼了吧?于是度了下,找到了这个方法,感觉很不错!现在来分享下,希望对像我这样苦逼的人有所帮助!
一、SecureCRT 同时向多个 session 发送相同命令的方法
对于要管理多台服务器的 SA 或 DBA 来说, 如果要在所有服务器上操作同样的命令, 一台台登陆操作是个很笨的方法. 一直以为 SecureCRT 没有这个功能, 曾经转向使用有该功能的 Xshell 软件, 但是 Xshell 又没有横向滚动条, 让人不爽, 所以就好好研究了一下 SecureCRT, 原来是可以的.
1. 首先在 SecureCRT 里同时打开多个 session(会话)
2. 从菜单栏勾选 View - Chat Windows(视图—交互窗口)
3. 在 Chat Windows(交互窗口)右键鼠标, 选上 Send Chat to All Tabs(发送到所有...), 这样 Chat Windows 里会有"<Send chat to all tabs>"(发送交互到所有会话) 的标志
4. 现在,在 Chat Windows(交互窗口)输入命令, 然后回车, 则当前打开的所有 Session 都会执行 ls 命令
5. 如果要同时执行多个命令, 在 Chat Windows(交互窗口)输完第一条命令后,按 Ctrl+Enter, 再输入第二条, 最后回车, 则当前打开的所有 Session 都会执行刚刚输入的多条命令。
6. 如果要取消该功能, 则反过来取消交互勾选即可。
英文地址: http://www.vandyke.com/support/automation/chatsendcom.html
整理来源:http://hi.baidu.com/edeed/item/a78c33840862501cc31627b8
二、简单的演示下 200 多台服务器同时抓取硬件配置、系统版本及外网 IP 的方法,加深记忆:
①、写好抓取的信息对应的命令行:
- #切换到 root
- sudo su - root
- #抓取硬件配置、系统版本及外网 IP 信息
- echo
dmidecode | grep "Product"|head -1|cut -d ":" -f2
/cat /proc/cpuinfo |grep "model name"|uniq|awk '{print $6":"$7" "$8$9}'
-grep 'physical id' /proc/cpuinfo | sort -u | wc -l
xgrep 'core id' /proc/cpuinfo | sort -u | wc -l
"核"(grep 'processor' /proc/cpuinfo | sort -u | wc -l
"线程")/"内存:"free -g |awk '{print $2}'|sed -n 2p
GB/"硬盘容量:"fdisk -l|grep GB|awk '{print $3}'
GB>serverinfo - cat /etc/issue|awk '{print $3" "$4" "$5" "$6" "$7" "$8" "$9}'>>serverinfo
- ifconfig|grep "inet addr"|grep -v "127.0.0.1"|grep -v "10.10"|awk -F " " '{print $2}'|cut -d ":" -f2>>serverinfo
- #清屏
- clear
- #打印信息
- cat serverinfo
②、按照上面的步骤切换到交互窗口,粘贴①中命令行:
③、回车后,所有会话都打印出我要的信息了:
- 短信接口被恶意调用(二)肉搏战-阻止恶意请求
- 关于首屏时间采集自动化的解决方案
- javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites
- 一次数据库无法登陆的问题及排查 (r3笔记第99天)
- 用深度学习keras的cnn做图像识别分类,准确率达97%
- 短信发送接口被恶意访问的网络攻击事件(三)定位恶意IP的日志分析脚本
- job处理缓慢的性能问题排查与分析(r4笔记第18天)
- 京东商品评论情感分析:数据采集与词向量构造方法
- springboot开启access_log日志输出
- 完美的执行计划导致的性能问题(r4笔记第17天)
- 解决Docker容器时区及时间不同步的问题
- 移动端测试方案--sptt
- 服务端事件EventSource揭秘
- 让docker中的mysql启动时自动执行sql文件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android仿qq侧滑菜单
- Vue3对于一个前端来讲意味着什么?
- 这就是你日日夜夜想要的docker!!!---------Dockerfile构建nginx、Tomcat、MySQL镜像
- 深入揭秘前端路由本质,手写 mini-router
- 这就是你日日夜夜想要的docker!!!---------Docker四种网络模式解析
- C语言队列的基本操作
- 10款好用到爆的Vim插件,你知道几个?
- 这就是你日日夜夜想要的docker!!!---------Docker Compose容器编排理论+实操
- 模式检验库Meteva笔记:加载本地观测数据
- Go by Example 中文版: SHA1 哈希
- C语言中缀表达式转后缀表达式
- C语言逆波兰表达式计算(后缀表达式计算器)
- SpringBoot+Druid+Mybatis配置多数据源
- C语言共享栈
- C语言二叉树的基本操作