昨天,在新公司接到了第一个任务:统计所有服务器的几个信息。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`x`grep '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
②、按照上面的步骤切换到交互窗口,粘贴①中命令行:
③、回车后,所有会话都打印出我要的信息了: