免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 47757 | 回复: 61
打印 上一主题 下一主题

【实践1】系统管理工具[cmserver-cmclient]第一版--请测试 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-17 10:05 |只看该作者 |正序浏览
本帖最后由 duanjigang 于 2011-03-30 18:03 编辑

谢谢大家多多测试,提出意见和改进建议!
cme.tar1.zip (1.77 MB, 下载次数: 252)
2011-03-30 补充了客户端程序的功能说明,作为扩展。了解详细信息,参加32-37楼
2011-03-22晚上10点补充

前传:
呵呵,之前就做过一个并发访问多个主机执行命令的工具,叫cme_scanner,是完全开源的,地址见这里:
http://bbs.chinaunix.net/thread-2033561-1-1.html
使用C的pthread并发调用expect自动登录机器执行任务,后来想了想,每个线程在执行每台机器的命令时,又相当于为每个主机启动了一个进程,
这样性能估计不太好,而且超时机制不太好做,expect脚本调用ssh命令,失败的错误原因也不太好分析(或者说我比较懒惰不想分析错误)。
之所以做这个工具,首先是工作需要,另外是想对cme_scanner做一个改进,不想在脚本中写上登录密码,而且多线程调用脚本文件,自己觉得很土。便想搞出来一个“纯粹”的并发访问工具,而且安全一点。
因此,cmeserver和cmeclient诞生了。



帖子前言:
讨论的帖子在此处:
http://bbs.chinaunix.net/thread-1862591-1-1.html
经过几天修改,终成第一版。由于该工具目前为公司内部用,因此还不宜开源,我后面跟领导请示开源下。
由于CU的附件不支持tar.gz格式的,因此把cme.tar.gz改名为tar1.gz1,然后zip打包,解压缩zip后,改名为tar.gz然后使用tar解压缩。

功能说明:类似于ssh的一个工具,一个服务程序和一个客户端命令。不同于ssh之处在于不需要登录,直接通过自己打通的socket通道传输数据和小型文件(二进制方式)。

执行命令:支持单个主机 "-h IP地址"或者 "-f IP地址列表文件"的方式来在若干个机器上执行指定的命令并且返回结果。
上传文件:上传小型文件,不宜过大。同样支持-h IP和 -f 主机IP列表文件的方式运行。

关于开源
聆听flw等诸位朋友意见,这几天做些修改,会讲代码放出来,得到大家的指点,意见才能改进和提升。呵呵

命令说明

  1. usage:cmclient [-p remote port] [-h remote host] [-P local port] [-H localhost] [-f configfile] [-c command] [-n task number] [-u  updatefile] [-d dest dir default '/tmp']
复制代码
解释如下:

  1. -p 服务器端的端口
  2. -h 服务器地址
  3. -f 存储服务器IP列表的文件名称,一行一个IP地址。
  4. 注意,-h和-f不能同时用。
  5. -P和-H是用来支持异步返回结果的,目前不启用。
  6. -c "命令" 执行命令
  7. -u "上传文件全路径" 比如 -u "/tmp/1.txt"将把1.txt上传。
  8. -d "上传目标目录" 比如 -u "/tmp/1.txt" -d "/etc" 将把本地/tmp/1.txt上传到目的机器的/etc目录下。
  9. 注意 -c 和 (-u -d)不能同时用,也就是说文件和命令不能在一次执行中支持。
  10. -n 线程数 如果你的IP有2000个,可以开50个线程,自动分配每个线程40个(最大支持50个线程)
复制代码
比如,一组测试脚本如下:

  1. #test batch upload file
  2. ./cmclient -p 12345 -f ip1.conf -u 1.txt -d /tmp/1/2  -n 20

  3. #test batch run commds
  4. ./cmclient -p 12345 -f ip.conf -c "uname -a"  -n 20

  5. #test single host command running
  6. ./cmclient -p 12345 -h 10.32.20.200 -c "uname -a"  -n 20

  7. #test single host file upload
  8. ./cmclient -p 12345 -h 10.32.20.200 -u Makefile -d /tmp/  -n 20
复制代码

论坛徽章:
0
62 [报告]
发表于 2011-09-18 00:13 |只看该作者
想要源码,,哈俣
badb0y 发表于 2011-09-15 15:06



    嗯,近期就会开源最新代码

论坛徽章:
0
61 [报告]
发表于 2011-09-16 14:13 |只看该作者
好东西,谢谢楼主!

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之上海
日期:2016-05-05 09:45:14
60 [报告]
发表于 2011-09-15 15:06 |只看该作者
想要源码,,哈俣{:2_168:}

论坛徽章:
0
59
发表于 2011-09-07 23:35

论坛徽章:
0
58 [报告]
发表于 2011-09-01 20:36 |只看该作者
我测试了两台centos4 x86的机子都提示这样的错误,玩LINUX10年了,没遇到过.

网上查说是文件不完全,重新下 ...
todayhero 发表于 2011-09-01 17:36



    还有,这里
http://bbs.chinaunix.net/thread-2328768-1-1.html
的9楼是6.26更新的安装包,试试先?

论坛徽章:
0
57 [报告]
发表于 2011-09-01 20:29 |只看该作者
本帖最后由 duanjigang 于 2011-09-01 20:31 编辑
我测试了两台centos4 x86的机子都提示这样的错误,玩LINUX10年了,没遇到过.

网上查说是文件不完全,重新下 ...
todayhero 发表于 2011-09-01 17:36


嗯,我是在centos5上打的包,加我QQ联系下,不好意思
已经PM给你我的QQ了。
这个项目在公司可能要被废掉了,因此期待它开源的日子近了。。

论坛徽章:
0
56 [报告]
发表于 2011-09-01 17:36 |只看该作者
本帖最后由 todayhero 于 2011-09-01 17:46 编辑
  1. [root@mx112 tools]# rpm -ivh cmtools-1.0.0-5.el4.i386.rpm
  2. error: cmtools-1.0.0-5.el4.i386.rpm: MD5 digest: BAD Expected(ed7356e53947375c370ae2fefb175078) != (47e45825ab7c63812643dc062ad23c5c)
  3. error: cmtools-1.0.0-5.el4.i386.rpm cannot be installed
复制代码
我测试了两台centos4 x86的机子都提示这样的错误,玩LINUX10年了,没遇到过.

网上查说是文件不完全,重新下载,重新下载也不行.

论坛徽章:
0
55 [报告]
发表于 2011-08-25 21:26 |只看该作者
今天ssh崩溃了,/dev/urandom搞丢了
mknod建立起来后ssh还是不能用,突然想起来了最新版的cmtk能够传输文件,试了下,果然可以
不过有10M的大小限制,就把代码clean了下,嘿嘿,倒到另外一台机器上,顺利实现营救啊
架构师大会以后,给公司争取这个项目的开源

论坛徽章:
0
54 [报告]
发表于 2011-08-24 17:40 |只看该作者
服务器多的话,可以选择下哦。
key1077 发表于 2011-08-21 22:33


en?什么意思?呵呵
最近忙着升级,测试,一直没空过来跟踪啊
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP