首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

安服仔偷懒必备技能之自动化主机检查脚本

所以这里先获取下IP# stdout 为正确输出,stderr为错误输出,同时是有1个变量有值stdin, stdout, stderr = ssh.exec_command('ip a|grep inet...,它自带了一个执行多条命令的功能,一条命令后面使用“;”就可以把命令隔开,看成是两条命令了,例如: stdin, stdout, stderr = ssh.exec_command('cd tmp;ls...-P ${port} ${file} ${user}@${ip}:${server_url} <<EOFbyEOFdone(向右滑动,查看更多) 这个的功能实现了,但是跟FTP不一样的是,FTP能够命令中把密码加进去...lftp -u ${user},${password} sftp://${ip}:${port} <<EOF#账号密码命令上scp -P ${port} ${file} ${user}@${ip}:$...结尾的时候要把EOF给结束掉,也就是将上面的代码包进来(向右滑动,查看更多) 这样直接把过滤文件的方式已经自动输入密码给完成了,其实如果想要实现那些自动上传脚本,执行这些也是能完成的,只要解决了两个解释器命令能够同一个脚本里面执行

58730

Python运维中20个常用的库和模块

6、smtplib:发送电子邮件模块 7、pycurl(http://pycurl.sourceforge.net)是一个用C语言写的libcurl Python实现,功能强大,支持的协议有:FTP,HTTP...12、pexpect:可以理解成Linux下expect的Python封装,通过pexpect我们可以实现对ssh,ftp,passwd,telnet等命令行进行自动交互,而无需人工干涉来达到自动化的目的...13、paramiko是基于Python实现的SSH2远程安装连接,支持认证及密钥方式。可以实现远程命令执行,文件传输,中间SSH代理等功能。...是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括命令执行,文件上传,下载及完整执行日志输出等功能。...Fabricparamiko的基础上做了更高一层的封装,操作起来更加简单。

1.2K31
您找到你想要的搜索结果了吗?
是的
没有找到

Python运维中20个常用的库和模块

6、smtplib:发送电子邮件模块 7、pycurl(http://pycurl.sourceforge.net)是一个用C语言写的libcurl Python实现,功能强大,支持的协议有:FTP,HTTP...12、pexpect:可以理解成Linux下expect的Python封装,通过pexpect我们可以实现对ssh,ftp,passwd,telnet等命令行进行自动交互,而无需人工干涉来达到自动化的目的...13、paramiko是基于Python实现的SSH2远程安装连接,支持认证及密钥方式。可以实现远程命令执行,文件传输,中间SSH代理等功能。...是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括命令执行,文件上传,下载及完整执行日志输出等功能。...Fabricparamiko的基础上做了更高一层的封装,操作起来更加简单。

3K70

Python 常用外部模块详解

,应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消息传递指的是程序之间通过消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术...,那就需要使用广播的方式给所有的客户端发送消息的分发,MQ支持消息的公平分发,之前的例子都基本都是1对1的消息发送和接收,即消息只能发送到指定的queue里,但有些时候你想让你的消息被所有的Queue收到...发布者(fanout广播模式): 指定发布者为广播模式,所有bind到此exchange的queue都可以接收到服务端发送的消息. import pika connection = pika.BlockingConnection...paramiko 是一个用于做远程SSH控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实,其实它的底层是对...('ls -lh') # 获取命令结果 result = stdout.read() # 关闭连接 ssh.close() Transport: import paramiko private_key

34620

HTTP1.1 协议Expect: 100-continue

: 100-continue”的来龙去脉: HTTP/1.1 协议里设计 100 (Continue) HTTP 状态码的的目的是,客户端发送 Request Message 之前,HTTP/...即, Client 和 Server Post (较大)数据之前,允许双方“握手”,如果匹配上了,Client 才开始发送(较大)数据。...协议对 HTTP/1.1 clients 的要求是: 如果 client 预期等待“100-continue”的应答,那么它发的请求必须包含一个 " Expect: 100-continue" 的头域!...2)libcurl 发送大于1024字节数据时启用“Expect:100-continue‘特性: 这也就是 Laruence 2011 年撰文所写的: 使用 curl 做 POST 的时候,当要...如果你遇到了,可以用下面的命令封禁"Expect"头域: <?php curl_setopt($ch, CURLOPT_HTTPHEADER,array('Expect:')); ?

4.5K40

Python 常用内置模块详解

MQ全称为Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法,应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消息传递指的是程序之间通过消息中发送数据进行通信...,那就需要使用广播的方式给所有的客户端发送消息的分发,MQ支持消息的公平分发,之前的例子都基本都是1对1的消息发送和接收,即消息只能发送到指定的queue里,但有些时候你想让你的消息被所有的Queue收到...发布者(fanout广播模式): 指定发布者为广播模式,所有bind到此exchange的queue都可以接收到服务端发送的消息. import pika connection = pika.BlockingConnection...模块 paramiko 是一个用于做远程SSH控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实,其实它的底层是对...('ls -lh') # 获取命令结果 result = stdout.read() # 关闭连接 ssh.close() Transport: import paramiko private_key

1.2K20

Python 【基础常识概念】

服务器收到客户端的报文后向客户端发送ACK和SYN报文,此时服务器的状态变为SYN_RCVD; 然后,客户端收到ACK、SYN,就向服务器发送ACK,客户端状态变为ESTABLISHED; 服务器端收到客户端的...客户端先向服务器发送FIN报文,请求断开连接,其状态变为FIN_WAIT1; 服务器收到FIN后向客户端发送ACK,服务器的状态围边CLOSE_WAIT; 客户端收到ACK后就进入FIN_WAIT2...CLOSING状态表示: 客户端发送了FIN,但是没有收到服务器的ACK,却收到了服务器的FIN,这种情况发生在服务器发送的ACK丢包的时候,因为网络传输有时会有意外。...FIN_WAIT_1 ----------- # 等待远端TCP 的连接终止请求,或者等待之前发送的连接终止请求的确认。...模块(二) windows中安装paramiko: pip3 install paramiko linux中scp命令的使用 ssh root@10.1.0.51     #ssh远程登录 scp

1.1K30

HTTP1.1 协议Expect: 100-continue

客户端发送 Request Message 之前,HTTP/1.1 协议允许客户端先判定服务器是否愿意接受客户端发来的消息主体(基于 Request Headers)。...即, Client 和 Server Post (较大)数据之前,允许双方“握手”,如果匹配上了,Client 才开始发送(较大)数据。...协议对 HTTP/1.1 clients 的要求是: 如果 client 预期等待“100-continue”的应答,那么它发的请求必须包含一个 " Expect: 100-continue"...2)libcurl 发送大于1024字节数据时启用“Expect:100-continue‘特性: 这也就是 Laruence 2011 年撰文所写的: 使用 curl 做 POST...发送一个请求,包含一个 "Expect: 100-continue" 头域,询问 Server 是否愿意接收数据; 2.

1.4K10

Linux 下自动应答工具 Expect 使用指南

Expect Tcl 基础上创建起来的并且还提供了一些 Tcl 所没有的命令: spawn命令激活一个 Unix 程序来进行交互式的运行 send命令向进程发送字符串 expect命令等待进程的某些字符串且支持正规表达式并能同时等待多个字符串...基础知识 主要介绍常见的 4 个命令的使用方式 我们知道,send 命令用于发送信息到进程中,expect 命令则是根据进程反馈的信息进行对应逻辑的交互的。...比如我们使用 spawn、send 和 expect 命令完成了 ftp 登陆主机,执行下载文件任务,但是我们希望文件下载结束以后,仍然可以停留在 ftp 命令行状态,以便手动的执行后续命令,此时使用...编号 命令 作用 1 send send 命令接收一个字符串并将该参数发送到进程中 2 expect expect 通常用来等待进程的反馈再发送对应的交互命令 3 spawn spawn 命令用来启动新的进程.../login.exp $remote_user $remote_ip $remote_port # [2] shell脚本直接写入expect命令 #!

1.6K21

玩转企业常见应用与服务系列(十):自动应答工具 expect 原理与实践

Expect Tcl 基础上创建起来的并且还提供了一些 Tcl 所没有的命令: spawn命令激活一个 Unix 程序来进行交互式的运行 send命令向进程发送字符串 expect命令等待进程的某些字符串且支持正规表达式并能同时等待多个字符串...该命令一直等到当前进程的输出和以上的某一个模式相匹配,或者等到时间超过一个特定的时间长度,或者等到遇到了文件的结束为止。每一个 patlist 都由一个模式或者模式的表(lists)组成。...我们知道,send 命令用于发送信息到进程中,expect 命令则是根据进程反馈的信息进行对应逻辑的交互的。...比如我们使用 spawn、send 和 expect 命令完成了 ftp 登陆主机,执行下载文件任务,但是我们希望文件下载结束以后,仍然可以停留在 ftp 命令行状态,以便手动的执行后续命令,此时使用...send #send 命令接收一个字符串并将该参数发送到进程中 expect #expect 通常用来等待进程的反馈再发送对应的交互命令 spawn #spawn 命令用来启动新的进程 interact

17210

python使用paramiko实现ssh的功能详解

paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。...就和我们用类似于xshell登录系统一样 channel.invoke_shell() # 下面就可以执行你所有的操作,用select实现 # 对输入终端sys.stdin和 通道进行监控, # 当用户终端输入命令后...,将命令交给channel通道,这个时候sys.stdin就发生变化,select就可以感知 # channel的发送命令、获取结果过程其实就是一个socket的发送和接受信息的过程 while True...发生变化 if sys.stdin in readlist: # 获取输入的内容 input_cmd = sys.stdin.read(1) # 将命令发送给服务器...(1) # 将命令发送给服务器 channel.sendall(input_cmd) # 服务器返回了结果,channel通道接受到结果,发生变化 select感知到

16.4K11

Linux之expect工具免交互式shell脚本执行

Linux之expect工具是一个根据脚本与其他交互式程序进行交互。通过脚本中设定期望值和响应值进行交互操作。主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。...以SSH KEY 生成以及发送到远程服务器为例简单介绍下expect工具 expect 启用选项: -c执行脚本前先执行的命令,可多次使用-ddebug模式,可以在运行时输出一些诊断信息,与脚本开始处使用...用来防止ssh远程主机网络不可达时卡住及远程主机执行命令宕住。...exit退出expect脚本expect eofspawn进程结束后会向expect发送eof,接收到eof代表该进程结束interact执行完代码后保持交互状态,将控制权交给用户。...没有该命令执行完后自动退出而不是留在远程终端上puts输出变量 安装使用 安装 sudo yum -y install expect 或者 sudo apt update && sudo apt-get

1.1K10

网工Python之路之paramiko 模块实验(六)FTP推送备份文件

2)使用paramiko实现自动登录网元(LSWx),批量推送配置文件到Win10上。 实验过程 实验拓扑搭建、账号配置调测等“环境搭建”文章中我们已详细介绍,这里从略。...大家实际生产中需要配套上其它功能代码块,方能更好的适配生产环境。其它功能块大家可查阅paramiko前序几篇文章。...2)使用paramiko实现自动登录网元(Layer3Switch-x),批量推送配置文件到Win10上。 实验过程 实验拓扑搭建、账号配置调测等“环境搭建”文章中我们已详细介绍,这里从略。...大家实际生产中需要配套上其它功能代码块,方能更好的适配生产环境。其它功能块大家可查阅paramiko前序几篇文章。...实验小结 网元的配置备份方法其实挺多的,之前我自己的设备备份思路并非如此,也算是“生产边学习边交流边实践边提升”吧。

87020
领券