Jan 3

Clip自动化运维工具_0.02 不指定

djangowang , 16:33 , 工作相关 » Python , 评论(0) , 引用(0) , 阅读(397) , Via 本站原创 | |
安装 && 介绍:http://blog.puppeter.com/read.php?7
github: https://github.com/puppeter/clip/tree/master/clip.0.02

新增功能:

clip ssh && clip scp && clip lt 支持ssh打通关系信任执行系统命令与同步文件;
clip ssh && clip scp && clip lt 支持多线程并发执行系统命令与同步文件;
clip ssh && clip scan 支持json格式返回执行命令结果;
clip scp && clip lt 支持rsync同步文件;
clip scp && clip lt 支持反向下载服务器文件;
修复程序bug && 优化功能;
clip version 增加版本功能。


Clip SDK使用
Clip SDK 功能用于获取Server上的IP关系,并在Client上重新组织编排IP关系。(注:目前clip也支持将IP存放到本地文件中管理)。目前Clip 提供8个子命令,以下Clip子命令的参数解释与演示(更多案例参考:Clip SDK 案例):
clip scan (用于对String对应的IP进行端口存活状态扫描)

--query_string(-q)# 根据String扫描IP的端口
--ip (-i) # 扫描指定IP的端口
--query_string (-q) *-test-*-*,*-docker-*-* # 多String扫描用逗号分隔
--append (-a) # 在原有String基础上,追加IP,追加多个(192.168.0.1,192.168.0.2)IP用逗号分隔
--remove_ip (-r) # 删除String原有IP列表的IP
--limit(-l)# 扫描String中指定范围的IP范围
--port (-P) # 指定自定义扫描端口(注:默认为80端口)
--log_disable(-o)# 默认日志会上报服务器,并通过history命令查看历史,通过此命令可以关闭日志上报,建议频繁使用clip关闭clip
--json (-j) # 一次性输出json格式({ip:status} 其中0位成功,1为失败)

clip scan 使用演示:
扫描*-puppet-*-* 对应开放的端口
点击在新窗口中浏览此图片

clip cstring(正解与反解String对应IP关系)

--query_string(-q)# 解析String对应的IP列表
--ip (-i) # 解析IP对应的String
--query_string (-q) *-test-*-*,*-docker-*-* # 解析多个String对应IP列表,多String用逗号分隔
--limit(-l)# 解析String中指定范围的IP范围
--append (-a) #在原有String基础上,追加IP,追加多个(192.168.0.1,192.168.0.2)IP用逗号分隔
--remove_ip (-r) # 删除String原有IP列表的IP
--join (-j) # 指定输出的格式,支持(“|” “,” “\n”,space) 4种格式输出
--log_disable(-o)# 默认日志会上报服务器,并通过history命令查看历史,通过此命令可以关闭日志上报,建议频繁使用clip关闭clip
--count (-c) # 统计输出IP个数
--dryrun (-d) # 输出调用接口用例

clip cstring演示:
解析*-qq-*-* 对应的IP关系。
点击在新窗口中浏览此图片
解析192.168.0.7 对应的String。
点击在新窗口中浏览此图片

clip ssh (远程命令执行工具)

--password (-p) # 密码 (如果打通了机器信任关系,密码字段请使用null)
--append (-a) # 在原有String基础上,追加IP,追加多个(192.168.0.1,192.168.0.2)IP用逗号分隔
--remove_ip (-r) # 删除String原有IP列表的IP
--limit(-l)# 解析String中指定范围的IP范围
--port (-P) #指定自定义端口(注:默认为22端口)
--dryrun (-d) # 输出调用接口用例
--log_disable(-o)# 默认日志会上报服务器,并通过history命令查看历史,通过此命令可以关闭日志上报,建议频繁使用clip关闭clip
--worker (-w) 以worker形式并发启动(限200并发)
--json (-j) 一次性输出json格式

clip ssh演示:
查看string(sh-docker-base_v1-*) 对应机器上负载.
点击在新窗口中浏览此图片
查看string(sh-docker-base_v1-*)的第一台服务器对应负载
点击在新窗口中浏览此图片

clip scp (远程命令执行工具)

--password (-p) # 密码(如果打通了机器信任关系,密码字段请使用null)
--append (-a) #  在原有String基础上,追加IP,追加多个(192.168.0.1,192.168.0.2)IP用逗号分隔
--remove_ip (-r) # 删除cstring原有IP列表的IP
--limit(-l)# 解析String中指定范围的IP范围
--port (-P) # 指定自定义端口(注:默认为22端口)
--dryrun (-d) # 输出调用接口用例
--log_disable(-o)# 默认日志会上报服务器,并通过history命令查看历史,通过此命令可以关闭日志上报,建议频繁使用clip关闭clip
--worker  以worker形式并发启动(限200并发)
--json (-j) 一次性输出json格式
--rsync (-R) 通过rsync方式做增量文件传输
--download (-D) 反向从远程服务器下载文件



clip scp演示:
将ip文件推送到string(sh-docker-base_v1-*)对应机器的/tmp目录上。
点击在新窗口中浏览此图片

tree(String关系遍历工具)

--query_string(-p) # 密码
--json (-j) # 指定输出的格式
--dryrun (-d) # 输出调用接口用例
--log_disable(-o)# 默认日志会上报服务器,并通过history命令查看历史,通过此命令可以关闭日志上报,建议频繁使用clip关闭clip

clip tree 演示:
遍历*-*-*-* 下的节点
点击在新窗口中浏览此图片

import(IP关系导入工具)

--insert (-i) # 将文件内的clip对应关系导入数据库
--bulid (-b) # 创建clip导入数据库,关系模板文件
--list_struct (-l) # 显示clip数据库结构

clip import 演示:
clip import -b 创建导入string与关系模板
点击在新窗口中浏览此图片

lt(Local tools 本地获取IP关系管理工具)

--password (-p) # 密码
--append (-a) # 追加IP,多个IP用逗号分隔
--remove (-r) # # 删除原有IP列表的IP
--port (-P) # 指定自定义端口(注:默认为22端口)
--worker (-w)  #以worker形式并发启动(限200并发)
--json (-j)  #一次性输出json格式


clip import 演示:
clip lt 根据本地文件IP文件,进行远程ssh command,其中root@“本地IP关系文件名”
点击在新窗口中浏览此图片


Clip 使用案例
最近有同学发现在使用clip过程中不能远程执行awk命令。说一下这里的原因,因为clip最终是将命令通过ssh方式进行远程调用,这里涉及到特殊字符的转义。在使用clip ssh 时 命令部分建议用单引号('')引起,awk 命令通过双引号,另外注意awk中的($)符号是特殊字符需要转义,最终使用方式(clip ssh -p null root@*-qq-*-*  'ps -ef|grep ssh | awk "{print \$2}" ' )这样就可以方便的使用ssh执行远程awk命令了见截图。

未转义前
点击在新窗口中浏览此图片
转义后
点击在新窗口中浏览此图片

发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]