<span style="white-space:normal;"><span style="color:#E53333;">
<h2>
<span style="line-height:1.5;text-indent:-21pt;font-size:16px;font-weight:normal;"><strong>CheungSSH的优点</strong></span>
</h2>
<h2>
<p align="left" class="MsoNormal" style="text-indent:-21pt;margin-left:21pt;">
<span style="color:#000000;background-color:#FFFFFF;"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1、操作简单</strong></span><span lang="EN-US"></span>
</p>
<p align="left" class="MsoNormal" style="text-indent:-21pt;margin-left:21pt;">
<span style="color:#000000;background-color:#FFFFFF;"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2、功能实用</strong></span><span lang="EN-US"></span>
</p>
<p align="left" class="MsoNormal" style="text-indent:-21pt;margin-left:21pt;">
<span style="color:#006600;background-color:#FFFFFF;"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3、无需安装任何插件</strong></span><span lang="EN-US"></span>
</p>
<p align="left" class="MsoNormal" style="text-indent:-21pt;margin-left:21pt;">
<span style="color:#000000;background-color:#FFFFFF;"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4、提供技术支持</strong></span><span lang="EN-US"></span>
</p>
<p align="left" class="MsoNormal" style="text-indent:-21pt;margin-left:21pt;">
<span style="color:#000000;background-color:#FFFFFF;"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5、授权免费使用<br />
功能大纲<br />
1. 批量分发命令<br />
2. 批量上传文件<br />
3.&nbsp;批量下载文件<br />
4.&nbsp;批量部署项目<br />
5.本地脚本远程运行<br />
<span style="font-size:16px;">更多功能,请参见《CheungSSH发布手册.docx</span><span style="font-size:16px;">》</span> </strong></span>
</p>
<span style="color:#000000;font-size:18px;">本程序已经</span><span style="color:#E53333;font-size:18px;">开放源码</span><span style="color:#000000;font-size:18px;">!如果您对此软件感兴趣,请到</span><span style="color:#E53333;font-size:18px;">GitHub</span><span style="color:#000000;font-size:18px;">下载,完全免费使用,并且永久免费</span><br />
<span style="color:#000000;font-size:18px;">下载方式</span><br />
<span style="color:#000000;font-size:18px;">&nbsp;(1) 在您的浏览器地址栏输入:&nbsp;</span><a href=" target="_blank"><span style="color:#000000;"><span style="font-size:18px;"> />
</span></a><span style="font-size:18px;">(2) 现在您将看到如下页面:</span><span style="font-size:18px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><img width="700" height="388" alt="" src="/attachment/201506/4/29295703_1433381825WYxx.png" /><br />
<div>
<span style="color:#000000;"><span style="font-size:18px;">(3) 点击Download ZIP就可以了,然后您可以unzip &nbsp;CheungSSH.zip 解压即可!</span><br />
<span style="font-size:18px;"> #QQ &nbsp;: &nbsp; &nbsp; 2418731289</span><br />
<span style="font-size:18px;"> 如果您觉得这个软件不错, 也可以与我合作研究!</span><br />
<span style="font-size:18px;"> 在这里先简单介绍一下我的这个程序与Ansible的优势:</span><br />
<span style="font-size:18px;"> 比Ansible的使用更简单,尤其是配置方面!而Ansible有的功能, 我的这个程序一样有,和Ansible一样是python开发, 所以跟Ansible的模式一样, 但是CheungSSH&nbsp;</span><span style="color:#E53333;font-size:32px;"><span style="font-size:18px;">操作更简单!配置更轻量!输出显示更人性化!</span><span style="color:#000000;font-size:16px;"><span style="font-size:18px;">而且,可以专门为您做</span><span style="color:#E53333;font-size:18px;">二次开发</span><span style="font-size:18px;">,对企业的自动化需求量身定做!</span></span></span><br />
<span style="font-size:18px;"> 您可以大致的看下功能表,即可了解本软件的功能</span></span><span style="color:#000000;"><br />
功能表:<br />
<table bordercolor="#000000" style="width:759.2px;color:#000000;" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td>
1
</td>
<td>
<strong>名称</strong><br />
</td>
<td style="width:444px;">
功能解释
</td>
<td>
本软件AutoSSH是否支持
</td>
<td>
Ansible是否支持
</td>
</tr>
<tr>
<td>
2
</td>
<td style="width:160.8px;">
批量分发命令<br />
</td>
<td>
在您的本地输入一条命令,程序将会自动把这些命令发送给远程多个服务器执行<br />
</td>
<td>
支持<br />
</td>
<td>
支持
</td>
</tr>
<tr>
<td>
3
</td>
<td>
批量上传文件<br />
</td>
<td>
在您的本地执行获取远程服务器的文件到本地,原理跟SFTP一样,但是这里是多个服务器同时执行SFTP<br />
</td>
<td>
支持<br />
</td>
<td>
支持
</td>
</tr>
<tr>
<td>
4
</td>
<td>
批量下载文件(正则匹配)<br />
</td>
<td>
在您的本地执行上传远程服务器的文件到远程服务器,原理跟SFTP一样,但是这里是同时为多个服务器执行SFTP,并且支持正则表达式的匹配,比如,您想下载服务器上Tomcat在5月~8月的日志到本地查看: tomcat/logs2015-0[5-8].*.log<br />
</td>
<td>
支持<br />
</td>
<td>
支持
</td>
</tr>
<tr>
<td>
5
</td>
<td>
多线程<br />
</td>
<td>
为多个服务器同时执行,这样能减少执行的时间,加快执行效率,尤其是在服务器较多的情况下<br />
</td>
<td>
支持<br />
</td>
<td>
支持
</td>
</tr>
<tr>
<td>
6
</td>
<td>
自定义输出格式<br />
</td>
<td>
为了更人性化的显示执行结果, 您可以自行编写一个脚本对结果内容进行重新格式化输出,只为了方便您的查看<br />
</td>
<td>
<span style="background-color:#E53333;">支持</span><br />
</td>
<td>
不支持
</td>
</tr>
<tr>
<td>
7
</td>
<td>
格式化日志入库<br />
</td>
<td>
程序执行的命令和结果,都将写入日志文件中,加入您在每天早上要执行巡检CPU MEM &nbsp;IO &nbsp;DISK 的信息,比如命令:df -h|grep '/' 得到结果 96% ,那么这些结果都将会格式化的写入日志中,同事也省去了您整理输出信息的时间。提高工作效率<br />
</td>
<td>
<span style="background-color:#FFFFFF;"><span style="background-color:#E53333;">支持</span></span>
</td>
<td>
不支持
</td>
</tr>
<tr>
<td>
8
</td>
<td>
命令结果返回状态判断<br />
</td>
<td>
每个命令执行是否成功,成功了多少, 用时多少,都会显示<br />
</td>
<td>
<span style="background-color:#E53333;">支持</span><br />
</td>
<td>
支持
</td>
</tr>
<tr>
<td>
9
</td>
<td>
su root权限<br />
</td>
<td>
假如您的服务器只能以普通账户登录,而您平时又是用普通用户登录后su &nbsp;- root执行命令,这里也支持。<br />
</td>
<td>
<span style="background-color:#E53333;">支持</span><br />
</td>
<td>
不支持
</td>
</tr>
<tr>
<td>
10
</td>
<td>
结果统计<br />
</td>
<td>
执行的命令条数,成功数,用时等。<br />
</td>
<td>
<span style="background-color:#E53333;">支持</span><br />
</td>
<td>
不支持
</td>
</tr>
<tr>
<td>
11
</td>
<td>
自助区分<br />
</td>
<td>
每个服务器的返回结果,都以特定格式区分开来,方便查看<br />
</td>
<td>
<span style="background-color:#E53333;">支持</span><br />
</td>
<td>
不支持
</td>
</tr>
<tr>
<td>
12
</td>
<td>
交互界面<br />
</td>
<td>
可以在程序里面进行批量发送命令,就像是Linux的shell终端一样<br />
</td>
<td>
<span style="background-color:#E53333;">支持</span><br />
</td>
<td>
不支持
</td>
</tr>
<tr>
<td>
13
</td>
<td>
后台运行 &nbsp; &nbsp;<br />
</td>
<td>
以命令的方式运行,比如您把命令写入一个脚本中,然后用crond每天早上为您自动为多个服务器巡检 .Auto_SSH_Manager_Stand_V71.0.py &nbsp;&lt;&lt;EOF \n free -m<br />
</td>
<td>
支持<br />
</td>
<td>
支持
</td>
</tr>
<tr>
<td>
14
</td>
<td>
模块化接口<br />
</td>
<td>
每个命令功能,都是一样以模块执行,所以跟Ansible是一样的原理,但是我认为比Ansibel更人性化<br />
</td>
<td>
支持<br />
</td>
<td>
支持
</td>
</tr>
<tr>
<td>
15
</td>
<td>
二次开发<br />
</td>
<td>
有API接口, 如果您想要针对您的工作进行进一步的开发,那么也是可以的<br />
</td>
<td>
<span style="color:#E53333;">支持</span><br />
</td>
<td>
支持
</td>
</tr>
<tr>
<td>
16
</td>
<td>
本地脚本在远程服务器运行(远程服务器没有脚本)<br />
</td>
<td>
您在本地编写一个脚本,或者是程序,或者是可执行文件,在远程服务器上事先不需要存在该脚本,而您可以直接在远程服务器上运行,犹如在普通的Shell终端下,先上传一个程序文件,然后在远程服务器上执行,而我们这里的区别是,无需您手动上传即可执行<br />
</td>
<td>
支持<br />
</td>
<td>
支持
</td>
</tr>
<tr>
<td>
17
</td>
<td>
自动化巡检<br />
</td>
<td>
比如您可以在crontd中编写一条命令, 定时为您的多个服务器进行巡检操作,巡检的结果,将会格式化的写入本地日志,提<br />
</td>
<td>
<span style="background-color:#E53333;">支持</span><br />
</td>
<td>
不支持
</td>
</tr>
<tr>
<td>
18
</td>
<td>
不同文件上传到不同服务器上<br />
</td>
<td>
比如您部署Tomcat &nbsp;Weblogic集群的时候,有可能每一个Tomcat节点的配置文件都不同,那么可以采用此模式,进行上传配置文件<br />
</td>
<td>
<span style="line-height:23.97px;">开发中</span>
</td>
<td>
不支持
</td>
</tr>
<tr>
<td>
19
</td>
<td>
部署模式 &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br />
</td>
<td>
比如您时常部署Tomcat程序 Weblogic程序等,部署的服务器需要部署完成一台才能进行下一台的操作。很多企业都是这样<br />
</td>
<td>
<span style="background-color:#E53333;">支持</span><br />
</td>
<td>
不支持
</td>
</tr>
<tr>
<td>
20
</td>
<td>
密码方式登录<br />
</td>
<td>
密码登陆,与Shell一样
</td>
<td>
支持<br />
</td>
<td>
支持
</td>
</tr>
<tr>
<td>
21
</td>
<td>
密钥方式登录<br />
</td>
<td>
PublicKey登陆,与Shell一样<br />
</td>
<td>
支持<br />
</td>
<td>
支持
</td>
</tr>
</tbody>
</table>
<div>
<table bordercolor="#000000" style="width:862px;" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td>
22
</td>
<td>
cd切换目录
</td>
<td>
就像在Shell中一样,可以在与远程服务器上cd切换路径
</td>
<td>
<span style="background-color:#E53333;">支持</span>
</td>
<td>
不支持
</td>
</tr>
<tr>
<td>
23
</td>
<td>
选定执行命令失败的主机
</td>
<td>
如果您执行一个命令失败了,那么您可以select这些主机,然后针对这些主机运行命令
</td>
<td>
<span style="background-color:#E53333;">支持</span>
</td>
<td>
不支持
</td>
</tr>
<tr>
<td>
24
</td>
<td>
选定一个或者多个主机
</td>
<td>
选定一个或者多个主机运行命令
</td>
<td>
支持
</td>
<td>
支持
</td>
</tr>
</tbody>
</table>
<table bordercolor="#000000" style="width:862px;" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td>
25
</td>
<td>
选定主机组
</td>
<td>
选定一个或者多个主机组运行命令
</td>
<td>
支持
</td>
<td>
支持
</td>
</tr>
</tbody>
</table>
<div>
实现架构:<br />
<img width="648" height="482" alt="" src="/attachment/201506/3/29295703_1433322041wkEM.jpg" /><br />
<strong style="color:#E53333;line-height:1.5;font-size:16px;">
<p align="center" style="text-align:center;display:inline !important;">
<b><span style="font-family:宋体;font-size:14pt;">一、介绍</span></b><span style="font-family:宋体;font-size:14pt;">:</span>
</p>
</strong>
</div>
<div>
<strong style="color:#E53333;">
<p align="center" style="text-align:center;">
<span style="font-family:宋体;font-size:14pt;">本软件我(张其川</span><span style="font-size:14pt;">&nbsp;Cheung Kei-Chuen</span><span style="font-family:宋体;font-size:14pt;">)使用</span><span style="font-size:14pt;">Python</span><span style="font-family:宋体;font-size:14pt;">语言开发,为了实现批量的自动化运维工作而开发,与</span><span style="font-size:14pt;">Ansible</span><span style="font-family:宋体;font-size:14pt;">一样属于同种开发语言,当然这个由我自己开发,是我根据工作中的实际使用情况而设计,在使用感知上我认为比</span><span style="font-size:14pt;">Ansible</span><span style="font-family:宋体;font-size:14pt;">更为人性化,更贴近运维人的使用需求。<span style="background-color:#FFFFFF;"><br />
该程序不需要任何的插件,不需要安装客户端和服务器端,利用的是SSH协议运行。</span></span>
</p>
</strong>
<div>
<span style="font-size:18px;">安装部署本软件</span><span style="font-size:18px;">:(建议首先使用第一种,如果失败则选用第二种)</span><br />
<span style="font-size:18px;"> 第一种方式(自动安装方式)</span><br />
<span style="font-size:18px;"> [ root ~]#&nbsp;</span><span style="color:#9933E5;"><span style="color:#000000;"><span style="font-size:18px;">&nbsp;cd </span><span style="font-size:18px;">&nbsp;CheungSSH-master</span></span><br />
<span style="color:#000000;font-size:18px;">[ root ~]# ./install-CheungSSH.sh &nbsp;#这里用shell脚本为您自动安装,如果安装失败了,您手动安装,</span><span style="color:#000000;font-size:18px;">请确保/CheungSSH里面的程序有x执行权限哦!</span></span><br />
<span style="font-size:18px;"> 第二种方式(手动安装方式,在第一种方式失败后,您可以使用这种方式安装,如果第一种方式成功,那么久不需要使用这个方式安装)</span><br />
<span style="font-size:18px;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;假如,您使用自动的安装方式&nbsp;./install-CheungSSH.sh &nbsp;失败了,那么请您使用如下方法手动安装</span><br />
<span style="font-size:18px;"> &nbsp;&nbsp;&nbsp; &nbsp;第一步: [ root ~]#&nbsp;yum install -y gcc&nbsp;python-devel</span><br />
<span style="font-size:18px;"> &nbsp; &nbsp; &nbsp;第三步 到官网下载pycrypto模块:&nbsp;wget --no-check-certificate&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; style="color:#E53333;line-height:1.5;"><br />
<span style="color:#000000;font-size:18px;">&nbsp; &nbsp; &nbsp;第四步 解压并安装:&nbsp;[ root ~]#&nbsp; &nbsp;&nbsp;tar xvf &nbsp;pycrypto-2.6.1.tar.gz ;cd pycrypto-2.6.1;python setup.py install</span><br />
<span style="color:#000000;font-size:18px;">&nbsp; &nbsp; &nbsp;第五步 到官网下载paramiko模块:[ root ~]# &nbsp;wget &nbsp;&nbsp;--no-check-certificate&nbsp;&nbsp; />
<span style="color:#000000;"><span style="font-size:18px;">&nbsp; &nbsp; &nbsp;第六步&nbsp;解压并安装 :&nbsp;[ root ~]# &nbsp;&nbsp;tar xvf &nbsp;&nbsp;paramiko-1.9.0.tar.gz ;cd paramiko-1.9.0&nbsp;;python setup.py install</span><br />
<span style="font-size:18px;"> 如果您已经安装成功了,那么下面直接可以运行程序</span></span></span><span style="color:#E53333;"><br />
<span style="color:#000000;"><span style="font-size:18px;">现在您需要修改一下配置文件,也就是指定程序如何运行,开看下一下配置文件介绍:</span>
<div>
<span style="color:#E53333;"> <span style="color:#000000;"><span style="font-size:18px;">&nbsp;[root&nbsp;~]# ./cheungssh_v115.py&nbsp; #先执行一下,会生成一些初始化配置文件</span><span style="color:#E53333;"><br />
<span style="color:#000000;"><strong><span style="font-size:18px;">CMD&gt;&gt;&gt;&gt;exit &nbsp; &nbsp;</span></strong><strong><span style="font-size:18px;">#然后退出,就算部署好了,接下来就可以修改配置文件,就能使用啦!!</span></strong></span></span></span><br />
<span style="color:#000000;"></span><span style="text-align:center;line-height:1.5;"><span style="color:#000000;font-size:18px;">[root@1 ~]# more /cheung/conf/cheung.conf &nbsp; #先看看配置文件哦!</span><br />
</span><span style="text-align:center;line-height:1.5;"><span style="color:#000000;"><span style="font-size:18px;">[AUTO_SSH]</span><br />
<span style="font-size:18px;"> Useroot=N</span></span></span><span style="text-align:center;line-height:1.5;"><br />
</span><span style="text-align:center;line-height:1.5;"><span style="color:#000000;font-size:18px;">Timeout=3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# 指定登陆服务器的响应超时时间</span><br />
</span><span style="text-align:center;line-height:1.5;"><span style="color:#000000;font-size:18px;">RunMode=M&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #使用多线程运行程序</span><br />
<span style="color:#000000;font-size:18px;">#</span></span><span style="text-align:center;color:#000000;line-height:1.5;"><span style="font-size:18px;">UseKey=n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # 是否使用密钥登录</span><br />
<span style="font-size:18px;"> #</span></span><span style="color:#000000;"></span></span><span style="text-align:center;line-height:1.5;text-indent:-204pt;font-size:18px;">Deployment=n &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span style="text-align:center;line-height:1.5;text-indent:-204pt;"><span style="font-size:18px;"># 是否使用部署模式,比如在更新Tomcat,Apache 的时候,需要逐一进行部署,使用该模式后, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;程序会结果您指定的日志信息进行判断重启是否成功,如果成功,则自动进行下一个服务器的部 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;署。否则会有提示</span><br />
</span><span style="text-align:center;line-height:1.5;text-indent:-204pt;"><span style="font-size:18px;">#ListenFile=/var/log/messages&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #使用了部署模式后,您需要制定一个日志文件, 让程序去读取您指定的关键信息</span><br />
</span><span style="text-align:center;line-height:1.5;text-indent:-144pt;font-size:18px;">#Li</span><span style="text-align:center;line-height:1.5;text-indent:-144pt;font-size:18px;">st</span><span style="text-align:center;line-height:1.5;text-indent:-144pt;font-size:18px;">enTime=60 </span><span style="text-align:center;line-height:1.5;text-indent:-144pt;font-size:18px;">&nbsp; </span><span style="text-align:center;line-height:1.5;text-indent:-144pt;font-size:18px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="text-align:center;line-height:1.5;text-indent:-144pt;font-size:18px;">&nbsp; &nbsp; #使用了部署模式后,程序读取您指定的日志信息时间,默认为60秒钟,如果在&nbsp;指 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;定时</span><span style="text-align:center;line-height:1.5;text-indent:-144pt;font-size:18px;">间未读取到相关信息,则认为部署失败。</span>
<p align="center" style="text-align:center;text-indent:-144pt;margin-left:144pt;">
<span style="font-size:18px;">&nbsp;</span>
</p>
<p align="center" style="text-align:center;text-indent:-144pt;margin-left:144pt;">
<span style="font-size:18px;">#ListenChar=Server startup &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;#使用了部署模式后, 您指定的字符信息,如果读取到这个信息,那么就认为部署成 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;功, 服务器将自动进行下一个部署,比如tomcat中如果出现这个字符,那么可以 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 认为是启动成功了的,当然要排除启动后的一些404,500错误。因为这里只判断启动是否成功</span>
</p>
<span style="font-size:18px;">配置/cheung/conf/cheung.conf:<span id="__kindeditor_bookmark_end_1__" style="display:none;"></span></span><br />
<img width="558" height="311" alt="" src="/attachment/201506/14/29295703_14342651184jKz.png" /><br />
<b style="color:#E53333;"><span style="color:#000000;font-size:18px;">配置</span><span lang="EN-US" style="color:#000000;font-size:18px;">/cheung/conf/hosts</span><span style="color:#000000;font-size:18px;">&nbsp; &nbsp; :</span><br />
<span style="color:#000000;"><img width="558" height="365" alt="" src="/attachment/201506/14/29295703_14342650548M89.png" /></span><span style="color:#000000;font-size:18px;">&nbsp; &nbsp;</span></b><br />
<p align="left" class="MsoNormal" style="color:#E53333;margin-left:42pt;">
<b><span style="color:#000000;font-size:18px;">解释:</span><span lang="EN-US"></span></b>
</p>
<p align="left" class="MsoNormal" style="color:#E53333;margin-left:42pt;">
<b><span style="color:#000000;font-size:18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></b><b><span style="color:#000000;font-size:18px;">第一列:主机地址</span><span lang="EN-US"></span></b>
</p>
<p align="left" class="MsoNormal" style="color:#E53333;margin-left:42pt;">
<b><span style="color:#000000;font-size:18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></b><b><span style="color:#000000;font-size:18px;">第二列:主机的端口</span><span lang="EN-US"></span></b>
</p>
<p align="left" class="MsoNormal" style="color:#E53333;margin-left:42pt;">
<b><span style="color:#000000;font-size:18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></b><b><span style="color:#000000;font-size:18px;">第三列:主机的登陆用户名</span><span lang="EN-US"></span></b>
</p>
<p align="left" class="MsoNormal" style="color:#E53333;margin-left:42pt;">
<b><span style="color:#000000;font-size:18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></b><b><span style="color:#000000;font-size:18px;">第四列:主机用户名的密码,如果您担心密码泄露,那么此处可以填写</span><span lang="EN-US" style="font-size:18px;"><span style="color:#000000;font-size:18px;">None</span></span></b>
</p>
<p align="left" class="MsoNormal" style="color:#E53333;margin-left:42pt;">
<b><span style="color:#000000;font-size:18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></b><b><span style="color:#000000;font-size:18px;">第五列:</span><span lang="EN-US" style="color:#000000;font-size:18px;">su-root</span><span style="color:#000000;font-size:18px;">的密码</span><span lang="EN-US" style="color:#000000;font-size:18px;">&nbsp; ,</span><span style="color:#000000;font-size:18px;">如果您未使用</span><span lang="EN-US" style="color:#000000;font-size:18px;">Useroot</span><span style="color:#000000;font-size:18px;">,此列可以填写</span><span lang="EN-US" style="font-size:18px;"><span style="color:#000000;font-size:18px;">None</span></span></b>
</p>
<p align="left" class="MsoNormal" style="color:#E53333;margin-left:42pt;">
<b><span style="color:#000000;font-size:18px;">以上配置必须有固定的格式,否则程序将无法运行</span><span lang="EN-US"></span></b>
</p>
<p align="left" class="MsoNormal" style="color:#E53333;margin-left:42pt;">
<b><span style="color:#000000;font-size:18px;">提示:</span><span lang="EN-US"></span></b>
</p>
<p align="left" class="MsoNormal" style="color:#E53333;margin-left:42pt;">
<b><span style="color:#000000;font-size:18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></b><b><span style="color:#000000;font-size:18px;">如果您在密码列填写的是</span><span lang="EN-US" style="color:#000000;font-size:18px;">&nbsp; None&nbsp;</span><span style="color:#000000;font-size:18px;">,那么在您执行命令的时候程序将会询问您密码。这样可以保护安全信息。</span></b><b></b>
</p>
<span style="color:#E53333;"></span><br />
<br />
<span style="background-color:#E53333;"><span style="font-size:18px;">使用前请注意:&nbsp;</span><br />
<span style="background-color:#FFFFFF;"></span><span style="font-size:18px;background-color:#FFFFFF;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size:18px;background-color:#FFFFFF;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size:18px;background-color:#FFFFFF;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color:#FFFFFF;"><span style="font-size:18px;">&nbsp; &nbsp; 由于CheungSSH是批量操作的,所以不支持交互式,比如vi ,top,ping等交互命令,如果您懂得如何取消交互也可以的</span><br />
<span style="font-size:18px;"> 详细的使用手册,请到GitHub上下载。</span></span></span><br />
<strong style="color:#E53333;"><span style="font-size:18px;">演示一、</span></strong><span style="font-size:18px;">执行一个命令uptime看下各个服务器的运行情况: &nbsp;(</span><span style="color:#E53333;font-size:18px;">请注意,这里执行命令,与您在Linux的终端下执行命令是一模一样!这里就比Ansible的操作更简单!</span><span style="font-size:18px;">)</span><br />
<span style="font-size:18px;"> [root&nbsp;~]#&nbsp;./cheungSSH_Manager_Stand_V90_ISSUE.py&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;#启动程序,如果您下载的版本不同,请ls &nbsp; CheungSSH 查看具体的程序名称</span><br />
<br />
<div style="color:#E53333;">
<img src="file://C:.Users.Administrator.AppData.Roaming.Tencent.Users.741345015.QQ.WinTemp.RichOle.T}LB3_5~M613[HHX@G2D22C.png" />
</div>
<span style="color:#E53333;"><img width="700" height="225" alt="" src="/attachment/201506/1/29295703_1433147160b4xY.png" /></span><br />
<span style="color:#E53333;font-size:18px;">另外,您还能看到的是,每次执行了命令, 我的程序都会统计:用时多少 ? 有多少服务器执行成功了?</span><br />
<span style="color:#E53333;"><img width="700" height="78" alt="" src="/attachment/201506/1/29295703_14331475809J3R.png" /></span><br />
<br />
<strong style="color:#E53333;"><span style="font-size:18px;">演示二、</span></strong><span style="color:#E53333;font-size:18px;">假如您是系统管理员,每天要收集各个服务器的Disk信息,来看看我这个程序能为您做的:</span><br />
<span style="color:#E53333;font-size:18px;">&nbsp; &nbsp;</span><span style="font-size:18px;">1 假如,您用这个检查您的根 “/” &nbsp;分区使用量 :df &nbsp;-h|awk '$NF=="/"{print &nbsp;$(NF-1)}' &nbsp; 看看这个命令在我的程序里如何运行:(当然,这只是一个普通的linux系统命令而已,您可以执行是mkdir &nbsp;/tmp/test &nbsp;, ps -fel &nbsp;等等。。Linux系统命令)</span><br />
<span style="color:#E53333;"><span style="font-size:18px;">&nbsp;&nbsp;&nbsp;&nbsp;</span><img width="697" height="262" alt="" src="/attachment/201506/1/29295703_14331474807X3n.png" /></span><br />
<br />
<span style="font-size:18px;"> 也许此时您会觉得,这样在屏幕上显示,我没法收集起来啊?那您的担心,我完全为您考虑到了,来看下日志:</span><br />
<span style="font-size:18px;"> 格式化日志: tail -f &nbsp;</span><span style="color:#E53333;"><span style="font-size:18px;">/cheung/logs/cheungssh.log</span><br />
<span style="font-size:18px;"> 原始日志: &nbsp;&nbsp;tail -f&nbsp;/cheung/logs/cheungssh.source.log #建议您看这个日志</span></span><br />
<br />
<span style="color:#E53333;"><img width="700" height="92" alt="" src="/attachment/201506/1/29295703_1433147726gK63.png" /></span><br />
<br />
<span style="font-size:18px;"> 看到了吗? 我的日志里面,已经为您记录好了每个命令的执行结果,所以,您只需要执行命令, 然后就可以在日志里面提取出结果来, 这样, 完全不用人工监督!</span><br />
<br />
<strong style="color:#E53333;"><span style="font-size:18px;">演示三、</span></strong><span style="color:#E53333;font-size:18px;">批量的下载各个服务器的文件到本地来,</span><span style="font-size:18px;">比如说,您要下载localhost这个服务器、127.0.0.1 这两个服务器的/var/log/messages日志文件到您的本地服务器来(当然了,我这里是演示,只能给127.0.0.1和localhost做示范哈,因为敏感问题哦!</span><span style="color:#E53333;"><img alt="" src="http://blog.chinaunix.net/kindeditor/plugins/emoticons/images/13.gif" border="0" /></span><span style="font-size:18px;">当然您可以理解成为完全不同的服务器)</span><br />
<span style="color:#E53333;"><img width="700" height="203" alt="" src="/attachment/201506/1/29295703_1433148688qF7L.png" /></span><br />
<br />
<strong style="color:#E53333;"><span style="font-size:18px;">演示四、</span></strong><span style="color:#E53333;font-size:18px;">批量的从多个服务器上同时下载多个文件到本地:</span><br />
<span style="color:#E53333;font-size:18px;">&nbsp; &nbsp;&nbsp;</span><span style="font-size:18px;">&nbsp;假如有一天,您的游戏服务器有了问题,您的领导让您把N多个服务器上的Tomcat日志从5月1日到5月8日的文件都拿到本地来让研发分析,那么这个时候,我的这个程序就能帮到您的忙了(注意哦, 是每个服务器都同时下载多个文件哦!):</span><br />
<br />
<span style="color:#E53333;"><img width="700" height="223" alt="" src="/attachment/201506/1/29295703_1433149030Ahmr.png" /></span><br />
<div style="color:#E53333;">
<br />
</div>
<span style="color:#E53333;font-size:18px;">看看,多个文件就从多个服务器上下载下来了哦!霸道吧?</span><br />
<br />
<strong style="color:#E53333;"><span style="font-size:18px;">演示五、</span></strong><span style="color:#E53333;font-size:18px;">批量上传文件到远程服务器 :</span><br />
<span style="color:#E53333;"><img width="700" height="109" alt="" src="/attachment/201506/1/29295703_14331493619lWN.png" /></span><br />
<div style="color:#E53333;">
<br />
<br />
<strong><span style="font-size:18px;">演示六、自动化部署Tomcat、Apache、Nginx、Weblogic程序:(这个程序可是我的王牌设计哦!</span></strong><strong><span style="font-size:18px;">)</span></strong><strong></strong><br />
<strong><span style="font-size:18px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;先介绍一下场景:您有100台服务器,今晚就需要部署Tomcat程序升级包,部署完了以后,需要重启Tomcat吧?</span></strong><br />
<strong><span style="font-size:18px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;有个前提,您的领导不允许你因为部署,就全部同时停止多个Tomcat服务器,因为那样对业务会有影响!</span></strong><strong><span style="font-size:18px;">只允许同时 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;停止一台Tomcat,那么我的这个程序就派上了用场!</span></strong><br />
<strong><span style="font-size:18px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;首先介绍一下设计思路:一个进程去执行重启Tomcat的命令, 而另一个命令负责去监控重启后的Tomcat日志,如果 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 日志中出现“Startup server” 字样,那么说明Tomcat就启动成功了,这个进程会告诉另外一个进程相关信息,而此时 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;另外的那个进程就可以对下一个服务器执行重启命令了哦!如此循环!知道重启完毕为止,当然如果重启过程中遇到错 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;误,那么程序会询问您是否需要继续重启其他服务器?</span><br />
<span style="font-size:18px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;好,我们看下演示效果:</span><br />
<img width="700" height="185" alt="" src="/attachment/201506/1/29295703_1433150060G9xh.png" /><br />
<br />
<span style="font-size:18px;">看下真正的tomcat日志,发现,是真的启动成功了&nbsp;&nbsp;</span></strong><br />
<br />
</div>
</div>
<div>
<div>
<div style="color:#E53333;">
<strong><span style="font-size:18px;">演示七、在您本地的脚本,让他在远程服务器上运行,事先远程服务器上没有这个脚本的哦!</span></strong><br />
<span style="color:#000000;font-size:18px;">&nbsp; &nbsp; &nbsp; &nbsp;应用场景,比如您要对服务器执行一个脚本内容, 而事先无需让这个脚本在远程服务器上存在,只需要 &nbsp; &nbsp; &nbsp; &nbsp;在本地</span><span style="color:#000000;font-size:18px;">程序 &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;上运行,就能让远程服务器上运行了哦!</span><br />
<span style="color:#000000;font-size:18px;">&nbsp; &nbsp; &nbsp; 来看下效果:</span><br />
<span style="color:#000000;font-size:18px;">1 先看下我们本地脚本的内容:</span><br />
<span style="color:#000000;font-size:18px;">[root@1 ~]# more b.sh</span><br />
<span style="color:#000000;font-size:18px;">echo "远端服务器:"</span><br />
<span style="color:#000000;font-size:18px;">/sbin/ifconfig|awk &nbsp;-F "( *)|:" ' {if ($0~"inet6") next; } {if($0~/127.0.0.1/) next;} $0~/inet/{print $4}'</span><br />
<span style="color:#000000;font-size:18px;">2 然后把上面的脚本b.sh 在程序里面执行:</span><br />
<span style="color:#000000;"><span style="font-size:18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><img width="700" height="349" alt="" src="/attachment/201506/14/29295703_14342840272C5z.jpg" /></span><br />
</div>
<br />
<span style="font-size:18px;"> 演示八、选定主机组:</span><br />
<span style="font-size:18px;"> 1. 看下/cheung/conf/hosts配置文件,已经配置了多个主机组:</span><br />
<span style="font-size:18px;"> [hosts1]</span><br />
<span style="font-size:18px;"> 127.0.0.1===22===admin===admin123===None</span><br />
<span style="font-size:18px;"> test.com===22===root===zhang===None</span><br />
<span style="font-size:18px;"> [hosts2]</span><br />
<span style="font-size:18px;"> localhost===22===root===zhang===None</span><br />
<div style="white-space:nowrap;">
<br />
</div>
<span style="font-size:18px;">2 进入内部命令模式,使用select选定主机组,或者是主机</span><br />
</div>
<img width="700" height="389" alt="" src="/attachment/201506/14/29295703_1434283771GX2x.jpg" /><br />
<br />
<img width="700" height="525" alt="" src="/attachment/201506/16/29295703_1434467436yUv6.jpg" /><br />
<br />
<div style="color:#E53333;">
<strong>全部的功能已经介绍完了,看完了我的介绍,您觉得最大的感触是什么呢 ?有没有觉得我的配置很多?很繁琐?</strong><strong>在使用的过程中,有没有像Ansible或者是Puppet一样,配置一大把参数, 一大把文件?没有吧!!<br />
<br />
<span style="color:#000000;">更多操作方法,请到GitHu</span><span style="color:#000000;">b下载操作手册《CheungSSH发布手册.docx》)查看了解.</span></strong>
</div>
</div>
</span></span>
</div>
</div>
</div>
</span>
</div>
<br />
</h2>
</span></span>
<div style="white-space:normal;">
<span style="color:#E53333;">我诚意推荐您使用本软件进行自动化运维或者部署,因为Ansible比puppet更好,而我的AutoSSH比Ansible更优秀!!本软件由:张其川 Cheung Kei-Chuen 全程自主开发,属于中国人的又一个运维利器!<br />
</span>
</div>
<div>
<br />
</div>
阅读(1074) | 评论(0) | 转发(0) |