本帖最后由 Matthew0701 于 2011-4-28 21:45 编辑

最近在学习python,借助fabric模块写了个批量操作服务器的脚本,在此分享给大家,如有不足之处,欢迎大家指正

准备工作:

安装python 2.6.5:

yum -y install readline*

tar xf Python-2.6.5.tar.bz2

cd Python-2.6.5

将目录下Modules/Setup.dist文件中"readline readline.c-lreadline -ltermcap"行前的注释去掉

编译安装:

./configure --enable-shared

make -j8 && make install

安装setuptools

tar xf setuptools-0.6c11.tar.gz

cd setuptools-0.6c11

python setup.py install

安装fabric

执行安装时,软件会自动从网上查找依赖的安装包并进行安装

tar xf fabric-0.9rc2.tar.gz

cd goosemo-fabric-1eacbf2

python setup.py install

############################################################

脚本执行效果:

显示帮助:

[root@testA python]# python pyssh.py

USAGE:

-u [user]       Use this argument to specify the user,default is 'root'

-H [host]       The host that you want to connect

-f [file]       The file content multiple ip address you want to connect

-P [port]       The ssh port,default is 22

-p [pwd|file]   You can specify password or a priviate key file to connect the host

-c [command]    The command you want the host(s) to run

-U [src,dst]    The local file that you want to upload to the remote host(s)

-D [src,dst]    The remote file that you want to download to the local host

-t [timeout]    The program running timeout,default is 1(s)

-h              Print this help screen

在多个远程主机上执行shell命令:

[root@testA python]# python pyssh.py -H 10.0.101.241,10.0.101.243 -p 123456 -P 22 -c "ps -ef | awk '{print \$NF}'|wc -l"

Execute command : "ps -ef | awk '{print $NF}'|wc -l" at Host : 10.0.101.241

-------------------------------------------------

83

-------------------------------------------------

Execute command : "ps -ef | awk '{print $NF}'|wc -l" at Host : 10.0.101.243

-------------------------------------------------

76

-------------------------------------------------

[root@testA python]# cat ip.txt

10.0.101.241

10.0.101.243

[root@testA python]# python pyssh.py -f ip.txt -p 123456 -P 22 -c "ps -ef | awk '{print \$NF}'|wc -l"

Execute command : "ps -ef | awk '{print $NF}'|wc -l" at Host : 10.0.101.241

-------------------------------------------------

82

-------------------------------------------------

Execute command : "ps -ef | awk '{print $NF}'|wc -l" at Host : 10.0.101.243

-------------------------------------------------

77

-------------------------------------------------

将远程主机上的文件下载到本地目录:

[root@testA python]# python pyssh.py -H 10.0.101.243 -p 123456 -P 22 -D '/pyssh.py,/'

Download remote file : "/pyssh.py" from Host : 10.0.101.243 to local "/"

-------------------------------------------------

-------------------------------------------------

将本地文件上传到多个远程主机上

[root@testA python]# python pyssh.py -H 10.0.101.241,10.0.101.242 -p 123456 -P 22 -U 'pyssh.py,/'

Upload local file : "pyssh.py" to Host : 10.0.101.241 "/"

-------------------------------------------------

-------------------------------------------------

Upload local file : "pyssh.py" to Host : 10.0.101.242 "/"

-------------------------------------------------

pyssh.zip

(1.38 KB, 下载次数: 359)

2011-4-28 12:38:18 上传

下载次数: 359

pssh脚本

2011-4-28 13:38:34 上传

下载次数: 242

fabric-0.9rc2.tar.gz

(146.3 KB, 下载次数: 226)

2011-4-28 13:38:34 上传

下载次数: 226

python批量上传执行脚本_python 写的批量操作远程主机脚本(命令执行,上传、下载文件)...相关推荐

  1. python批量上传 服务器_python写的批量操作远程主机脚本(命令执行,上传、下载文件)...

    最近在学习python,借助fabric模块写了个批量操作服务器的脚本,在此分享给大家,如有不足之处,欢迎大家指正 准备工作: 安装python 2.6.5: yum -y install readl ...

  2. python命令行下载文件_python写的批量操作远程主机脚本(命令执行,上传、下载文件)...

    最近在学习python,借助fabric模块写了个批量操作服务器的脚本,在此分享给大家,如有不足之处,欢迎大家指正 准备工作: 安装python 2.6.5: yum -y install readl ...

  3. python扫描端口脚本_python写的端口扫描脚本

    今天看到群里哥们发了一个需求,如下: "如何批量检测一批主机的端口,是否存在,端口都是对外的",感觉不难,就用py写了个小脚本,有问题的地方,还望大家指出,谢谢! #!/usr/b ...

  4. python写简单脚本_python写一个最简单的可执行脚本

    这周一直在折腾一个很常见的需求.打算做成脚本和批处理,将策划从人肉手工和低效中解救出来. 尝试了windows下cmd的批处理.linux shell脚本.实则是多位程序员和我讲,为什么不用pytho ...

  5. python可以写脚本_Python写一个痒痒鼠脚本

    之前电脑系统崩了,重装之后就直接安装Anaconda来使用Python语言(装的时候记得把添加路径勾上,不想装Anaconda可参考之前的Python环境搭建),咱们还是先用Sublime来写脚本吧. ...

  6. python伪造邮件发件地址_python写一个邮箱伪造脚本

    前言: 原本打算学php MVC的思路然后写一个项目.但是贼恶心, 写不出来.然后就还是用python写了个邮箱伪造. 0x01 第一步先去搜狐注册一个邮箱 然后,点开设置,开启SMTP服务. 当然你 ...

  7. python批量提取pdf的数据_Python批量提取PDF文件中文本的脚本

    本文实例为大家分享了Python批量提取PDF文件中文本的具体代码,供大家参考,具体内容如下 首先需要执行命令pip install pdfminer3k来安装处理PDF文件的扩展库. import ...

  8. python 解析模块脚本_Python pexpect模块及shell脚本except原理解析

    expect脚本 expect是什么 expect是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预.说白了,expect就是一套用来实现自动交互功能的软件. 在实际工作中,我们运行命令. ...

  9. python 批量查询网页导出结果_python批量查询网页的HTTP状态码

    最近业余时间在改版一个网站,改版之前频繁调整了一些栏目的属性,包括栏目的层级,这种最怕就是调整了栏目的从属关系,导致了栏目的URL地址改变,一旦改版就导致整个栏目及其下面的文章页地址变更,成为死链.而 ...

最新文章

  1. php 文件结尾 ?> 可以省略的情况
  2. python进程池multiprocessing.Pool运行错误:The freeze_support() line can be omitted if the program is not g
  3. boost::intrusive::list_base_hook用法的测试程序
  4. Spark _08窄依赖和宽依赖stage
  5. 2021.08.22学习内容torch.cat()和torch.stack()函数
  6. vscode设置缩进2个空格
  7. bootstrap使用中遇到的坑
  8. dnf剑魂buff等级上限_DNF:又是随机大坑?8月新护石装备可升级,但升3个需要刷半年...
  9. C#实现treeview节点上下左右自由移动
  10. php语言grads画图,grads画图坐标设置.docx
  11. 常用触摸屏485通讯引脚及下载口
  12. 三维空间曲面的切平面以及在某一点上的切线,法线
  13. word批量调整图片大小--宏
  14. 图像处理库Pillow的使用
  15. 游戏策划:为什么我的儿子不沉迷游戏
  16. MFC文本编程--退格键的操作
  17. [黑群晖]DSM7.1 ds3617xs 志强e3 1265lv3 b85保姆级安装教程
  18. iphone免越狱插件_如何保护iPhone免受盗贼的侵害
  19. 用递归实现求n!阶层和菲波那切数列
  20. Linux 下FTP的安装与配置教程详解

热门文章

  1. ASP.NET 封装JS文件到DLL中并在页面中调用
  2. x64位windows上程序开发的注意事项
  3. Http状态码梳理汇总
  4. 如何在Windows的PHPstudy中使用redis数据库
  5. as3 操作图片,获取,设置实际像素,扣除透明区域
  6. Git的使用的简单介绍
  7. Beta版本冲刺———第二天
  8. IOS文件管理-NSFileMangager-NSdata
  9. INSTALL_FAILED_INVALID_APK: Split lib_slice_X_apk was defined multiple times异常
  10. 【报告分享】迈向更好的教育:未来教育的技术空间研究报告.pdf(附下载链接)