- 浏览: 50951 次
- 性别:
- 来自: 上海
最新评论
python交互式自动部署
1、首先要做ssh互相信息
2、安装python相关组件,同时要安装好gcc*。部署好rsync等等
3、本来是用来部署第一个tomcat的。脚本如下:
#!/usr/bin/python
#2012/06/26 7shao
import paramiko
import sys,os
port=22
username='root'
key_file="~/.ssh/authorized_keys"
know_host="/root/.ssh/known_hosts"
file=open('ip.list')
for line in file:
print "##########################",line,"############################"
s=paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.load_system_host_keys(know_host)
s.connect(line,port,username,key_file)
stdin,stdout,sterr=s.exec_command(" /usr/local/tomcat/bin/shutdown.sh ;sleep 10;ps -ef |grep java|grep -v grep|grep 'tomcat/'|awk '{print $2}'|xargs kill -9;rsync -vzrtopg --delete --progress rsync\@192.168.1.159::rs1 /usr/local/tomcat/webapps;export JAVA_HOME=/usr/local/jdk1.6.0_24;/usr/local/tomcat/bin/startup.sh" )
# os.system("ps -ef |grep java|grep -v grep|grep 'tomcat/'|awk '{print $2}'")
print stdout.read().strip()
s.close()
file.close()
ip.list内容如下:
192.168.1.160
192.168.1.161
192.168.1.162
192.168.1.163
192.168.1.164
192.168.1.165
192.168.1.166
192.168.1.167
192.168.1.168
192.168.1.169
192.168.1.170
然后直接执行python tomcat1.py即可。
如果直接运行报错,可能是python的相关组件没有安装好。
1、首先要做ssh互相信息
2、安装python相关组件,同时要安装好gcc*。部署好rsync等等
3、本来是用来部署第一个tomcat的。脚本如下:
#!/usr/bin/python
#2012/06/26 7shao
import paramiko
import sys,os
port=22
username='root'
key_file="~/.ssh/authorized_keys"
know_host="/root/.ssh/known_hosts"
file=open('ip.list')
for line in file:
print "##########################",line,"############################"
s=paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.load_system_host_keys(know_host)
s.connect(line,port,username,key_file)
stdin,stdout,sterr=s.exec_command(" /usr/local/tomcat/bin/shutdown.sh ;sleep 10;ps -ef |grep java|grep -v grep|grep 'tomcat/'|awk '{print $2}'|xargs kill -9;rsync -vzrtopg --delete --progress rsync\@192.168.1.159::rs1 /usr/local/tomcat/webapps;export JAVA_HOME=/usr/local/jdk1.6.0_24;/usr/local/tomcat/bin/startup.sh" )
# os.system("ps -ef |grep java|grep -v grep|grep 'tomcat/'|awk '{print $2}'")
print stdout.read().strip()
s.close()
file.close()
ip.list内容如下:
192.168.1.160
192.168.1.161
192.168.1.162
192.168.1.163
192.168.1.164
192.168.1.165
192.168.1.166
192.168.1.167
192.168.1.168
192.168.1.169
192.168.1.170
然后直接执行python tomcat1.py即可。
如果直接运行报错,可能是python的相关组件没有安装好。
发表评论
-
ES安装部署
2021-01-11 11:01 284一,准备工作 1,Es下载链接 https://mirro ... -
计算机基础
2021-01-11 10:53 4581、计算机完整的体系结 ... -
KVM详细安装
2016-02-22 09:59 700KVM详细安装 安装KVM yum -y install q ... -
linux for
2015-09-23 15:44 0for ((i=0;i<10000;i++)); do ... -
sendmail无法发送邮件
2013-07-25 11:57 979sendmail无法发送邮件 后面经过修改。 vi /etc/ ... -
msmtp
2013-06-06 10:43 842原来一直在Linux下使 ... -
sysctl优化脚本
2012-12-28 12:32 964#!/bin/sh sysctl -w net.ipv4.n ... -
linux date
2012-12-19 12:04 823linux date 我使用过的Linux命令之date - ... -
http错误
2012-07-26 17:09 9521xx - 信息提示 这些状态代码表示临时的响应。客户端在收到 ... -
nagios最新详细安装
2012-08-11 11:46 1649nagios最新详细安装 第一部分: 一、开发库等安装 首 ... -
centos_5中文语言包安装
2012-07-06 14:57 636第一:中文语言包: 在一台机子上装了centos 5,刚开始没 ... -
linux包批量安装
2012-06-30 10:09 758yum groupinstall "KDE (K D ... -
Linux系统信息查看命令大全
2012-06-30 09:59 1430系统 # uname -a # 查看内 ... -
linux下安装expect
2012-06-16 16:29 1438linux下安装expect expect ... -
python一些组件的安装
2012-06-16 16:17 5689paramiko是python(2.2或更高)的模块,遵循SS ... -
ssh不需要密码登录
2012-06-15 09:31 857ssh不需要密码登录 A为登录B、C、D三台机器 A的相关配置 ... -
MegaCli安装
2012-06-13 17:50 0下载地址:wget http://www.eth0.us/fi ... -
rsync配置及报错处理
2012-06-07 17:49 4096服务器端配置文件: 首先安装rsync+xinetd 并启用 ... -
mysql快速安装
2012-06-01 16:08 902一、快速安装mysql准备工作 首先需要保证自己的开发工具包 ... -
puppet详细安装
2012-05-25 15:34 1916puppet详细安装 首先要确 ...
相关推荐
这是一个基于Python开发的个人博客自动部署系统的源码包。该系统允许用户轻松地创建、管理和发布他们的个人博客,同时提供了自动化部署的功能,极大地简化了博客维护的过程。让我们深入了解一下这个项目涉及的关键...
本文将深入探讨名为“p”的一个非常简单的交互式Python版本管理工具,它为Python开发者提供了一个便捷的方式来控制Python的版本。 “p”工具的设计理念是简洁易用,它允许用户快速地在不同的Python版本之间切换,以...
基于交互式部署工具RK3588检测有没有带安全帽Python源码+文档说明.zip - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分...
本篇文章将详细介绍WhaleAI提供的Python自动化HBase部署方案,以及如何利用它来专注于人工智能和大数据的实践。 首先,让我们了解HBase的基本概念。HBase是为处理PB级数据设计的,其核心特性包括:强一致性、水平...
3. 交互式CLI:使用`readline`库或第三方的`prompt_toolkit`库,可以构建具有历史记录和命令补全功能的交互式命令行工具。 三、监控Linux系统 1. 系统性能监控:Python的`psutil`库可以获取CPU、内存、磁盘和网络...
- **Python**:一种高级、解释型、交互式和面向对象的脚本语言,广泛应用于Web开发、数据分析、自动化等多个领域。 - **测试框架**:如unittest、pytest等,为编写测试用例提供结构和便利。 2. **Python测试框架*...
- Ansible是一款声明式配置管理工具,通过SSH连接远程服务器,实现自动化部署、配置和任务执行。 - Playbooks:Ansible的主要配置文件,使用YAML语法编写,定义了任务的执行流程和操作步骤。 - Roles:可重用的...
PyCharm是一款功能强大的Python集成开发环境(IDE),它提供了代码编辑、调试、版本控制等一站式开发工具,非常适合进行接口自动化测试项目。 要实现Python接口自动化测试,我们主要会用到以下几个关键库: 1. **...
Unity是一款强大的跨平台游戏引擎,广泛用于创建2D、3D游戏以及各种交互式应用。在开发过程中,当项目达到一定阶段或需要频繁测试时,手动打包会变得繁琐。Python作为一种流行的编程语言,因其易读性强、语法简洁且...
10. 自动化报告:matplotlib、seaborn和plotly等库可以生成各种可视化图表,而Jupyter Notebook则能创建交互式的报告,方便分享和解释自动化结果。 Python自动化不仅限于以上提到的点,还有更多领域如数据库操作...
Python的pexpect库是一个强大的工具,它允许程序员在模拟终端环境中控制和自动化交互式应用程序,类似于UNIX中的GNU expect。这个库对于系统管理员、DevOps工程师以及任何需要与命令行界面进行自动化交互的人来说都...
例如,通过os模块创建、删除、移动文件,使用pexpect库进行交互式命令执行,如安装软件、更新系统。 2. **监控系统**:Python能与各种监控工具(如Nagios、Zabbix)集成,编写自定义插件监测服务器性能指标(CPU、...
- 验证安装成功:在命令行输入"python",若看到Python交互式界面,表示安装成功。 2. Setuptools安装: - 将ez_setup.py与setuptools-0.6c9-py2.6.egg文件放在同一目录下。 - 打开命令行,切换到ez_setup.py所在...
2. 库丰富:Python拥有众多用于网络管理、系统管理、监控、日志分析等的库,如paramiko(SSH连接)、nmap(端口扫描)、pexpect(交互式进程控制)等。 3. 脚本能力强大:Python能够方便地执行shell命令、处理文本...
jupyter notebook是一个基于网页的交互式计算环境,它本身支持多种语言的开发,但常用于Python的开发。其优点是交互式强,易于可视化,尤其适用于需要频繁修改、实验的场景,比如数据分析、测试机器学习模型等。另一...
5. 安装完成后,可以在开始菜单或桌面找到Python快捷方式,启动Python交互式环境(IDLE)。 **Python环境使用:** - 在命令提示符中输入`python`或`python2.7`(根据环境变量设置),即可启动Python解释器进行交互...
### 基于Python构建可扩展的自动化运维平台 #### 一、背景及意义 随着互联网行业的快速发展,数据中心规模不断扩大,传统的手动运维方式已经无法满足高效、稳定的运维需求。因此,构建一套基于Python的可扩展自动...
4. **函数式编程**:Python支持函数式编程风格,书中会介绍高阶函数、闭包、装饰器以及生成器等概念,帮助读者掌握更简洁、高效的编程方式。 5. **并发编程**:讲解Python中的多线程、多进程以及异步I/O(如`...
* ptpython:高级交互式 Python 解析器,构建于 python-prompt-toolkit 之上。 * Jupyter Notebook (IPython):一个能够让你最大限度地以交互式方式使用 Python 的丰富工具包。 文件 * aiofiles:基于 asyncio 的...
- python-prompt-toolkit:构建强大交互式命令行的库。 6. **其他工具**: - aws-cli:Amazon Web Services的统一命令行界面。 - bashplotlib:在终端内绘制基本图形。 - caniusepython3:确定阻碍Python 3迁移...