分类: iOS平台
2015-06-19 08:57:09
1、操作简单
2、功能实用
3、无需安装任何插件
4、提供技术支持
5、授权免费使用
功能大纲
1. 批量分发命令
2. 批量上传文件
3. 批量下载文件
4. 批量部署项目
5.本地脚本远程运行
更多功能,请参见《CheungSSH发布手册.docx》
1 |
名称 |
功能解释 | 本软件AutoSSH是否支持 | Ansible是否支持 |
2 |
批量分发命令 |
在您的本地输入一条命令,程序将会自动把这些命令发送给远程多个服务器执行 |
支持 |
支持 |
3 |
批量上传文件 |
在您的本地执行获取远程服务器的文件到本地,原理跟SFTP一样,但是这里是多个服务器同时执行SFTP |
支持 |
支持 |
4 |
批量下载文件(正则匹配) |
在您的本地执行上传远程服务器的文件到远程服务器,原理跟SFTP一样,但是这里是同时为多个服务器执行SFTP,并且支持正则表达式的匹配,比如,您想下载服务器上Tomcat在5月~8月的日志到本地查看: tomcat/logs2015-0[5-8].*.log |
支持 |
支持 |
5 |
多线程 |
为多个服务器同时执行,这样能减少执行的时间,加快执行效率,尤其是在服务器较多的情况下 |
支持 |
支持 |
6 |
自定义输出格式 |
为了更人性化的显示执行结果, 您可以自行编写一个脚本对结果内容进行重新格式化输出,只为了方便您的查看 |
支持 |
不支持 |
7 |
格式化日志入库 |
程序执行的命令和结果,都将写入日志文件中,加入您在每天早上要执行巡检CPU MEM IO DISK 的信息,比如命令:df -h|grep '/' 得到结果 96% ,那么这些结果都将会格式化的写入日志中,同事也省去了您整理输出信息的时间。提高工作效率 |
支持 | 不支持 |
8 |
命令结果返回状态判断 |
每个命令执行是否成功,成功了多少, 用时多少,都会显示 |
支持 |
支持 |
9 |
su root权限 |
假如您的服务器只能以普通账户登录,而您平时又是用普通用户登录后su - root执行命令,这里也支持。 |
支持 |
不支持 |
10 |
结果统计 |
执行的命令条数,成功数,用时等。 |
支持 |
不支持 |
11 |
自助区分 |
每个服务器的返回结果,都以特定格式区分开来,方便查看 |
支持 |
不支持 |
12 |
交互界面 |
可以在程序里面进行批量发送命令,就像是Linux的shell终端一样 |
支持 |
不支持 |
13 |
后台运行 |
以命令的方式运行,比如您把命令写入一个脚本中,然后用crond每天早上为您自动为多个服务器巡检 .Auto_SSH_Manager_Stand_V71.0.py < |
支持 |
支持 |
14 |
模块化接口 |
每个命令功能,都是一样以模块执行,所以跟Ansible是一样的原理,但是我认为比Ansibel更人性化 |
支持 |
支持 |
15 |
二次开发 |
有API接口, 如果您想要针对您的工作进行进一步的开发,那么也是可以的 |
支持 |
支持 |
16 |
本地脚本在远程服务器运行(远程服务器没有脚本) |
您在本地编写一个脚本,或者是程序,或者是可执行文件,在远程服务器上事先不需要存在该脚本,而您可以直接在远程服务器上运行,犹如在普通的Shell终端下,先上传一个程序文件,然后在远程服务器上执行,而我们这里的区别是,无需您手动上传即可执行 |
支持 |
支持 |
17 |
自动化巡检 |
比如您可以在crontd中编写一条命令, 定时为您的多个服务器进行巡检操作,巡检的结果,将会格式化的写入本地日志,提 |
支持 |
不支持 |
18 |
不同文件上传到不同服务器上 |
比如您部署Tomcat Weblogic集群的时候,有可能每一个Tomcat节点的配置文件都不同,那么可以采用此模式,进行上传配置文件 |
开发中 | 不支持 |
19 |
部署模式 |
比如您时常部署Tomcat程序 Weblogic程序等,部署的服务器需要部署完成一台才能进行下一台的操作。很多企业都是这样 |
支持 |
不支持 |
20 |
密码方式登录 |
密码登陆,与Shell一样 |
支持 |
支持 |
21 |
密钥方式登录 |
PublicKey登陆,与Shell一样 |
支持 |
支持 |
22 | cd切换目录 | 就像在Shell中一样,可以在与远程服务器上cd切换路径 | 支持 | 不支持 |
23 | 选定执行命令失败的主机 | 如果您执行一个命令失败了,那么您可以select这些主机,然后针对这些主机运行命令 | 支持 | 不支持 |
24 | 选定一个或者多个主机 | 选定一个或者多个主机运行命令 | 支持 | 支持 |
25 | 选定主机组 | 选定一个或者多个主机组运行命令 | 支持 | 支持 |
一、介绍:
本软件我(张其川 Cheung Kei-Chuen)使用Python语言开发,为了实现批量的自动化运维工作而开发,与Ansible一样属于同种开发语言,当然这个由我自己开发,是我根据工作中的实际使用情况而设计,在使用感知上我认为比Ansible更为人性化,更贴近运维人的使用需求。
该程序不需要任何的插件,不需要安装客户端和服务器端,利用的是SSH协议运行。
#ListenChar=Server startup #使用了部署模式后, 您指定的字符信息,如果读取到这个信息,那么就认为部署成 功, 服务器将自动进行下一个部署,比如tomcat中如果出现这个字符,那么可以 认为是启动成功了的,当然要排除启动后的一些404,500错误。因为这里只判断启动是否成功
配置/cheung/conf/cheung.conf:解释:
第一列:主机地址
第二列:主机的端口
第三列:主机的登陆用户名
第四列:主机用户名的密码,如果您担心密码泄露,那么此处可以填写None
第五列:su-root的密码 ,如果您未使用Useroot,此列可以填写None
以上配置必须有固定的格式,否则程序将无法运行
提示:
如果您在密码列填写的是 None ,那么在您执行命令的时候程序将会询问您密码。这样可以保护安全信息。