我是靠谱客的博主 冷静热狗,这篇文章主要介绍Python自动化运维,现在分享给大家,希望可以做个参考。

重点:

  1. SSH免密码登录
  2. 使用Ansible批量下发或收集文件
  3. 使用Paramiko批量监控

SSH免密码登录


使用RSA非对称机密算法
Public Key 公钥
Private Key 私钥
在这里插入图片描述
命令:

ssh-keygen

生成密钥,公钥和私钥

ssh-copy-id

将公钥放入服务器

例子:
在这里插入图片描述
在这里插入图片描述
验证:
在这里插入图片描述


Ansible


在这里插入图片描述
config file 日志文件
配置机器列表

/etc/ansible/hosts

将机器分组,使用[]分组
在这里插入图片描述

ping模块,需要目标服务器安装python,raw模块执行原生的shell命令
在这里插入图片描述

在目标服务器安装python

ansible all -m raw -a "apt update && apt install -y python "

all 服务器分组
-m模块
-a参数

模块讲解

模块名称作用
raw执行原生shell命令
ping检验连接服务器需安装python
script将本机的脚本文件传输的目标机上执行
command与raw类似,但需要目标机器安装python,使用次命令可省略“-m command”
copy将本机文件复制到目标机器上
file针对文件操作,如改变权限
shell执行目标机器上存在的脚本
fetch将目标机器上的文件下载回来

例子:
script:
在这里插入图片描述
copy:
在这里插入图片描述
file:
在这里插入图片描述
shell:
在这里插入图片描述
fetch:
在这里插入图片描述
src目标机器路径,dest本机路径

Paramiko

例子:

import paramiko

ssh = paramiko.SSHClient()  #实例化
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())    #连接未知主机自动处理,不会报错
ssh.connect(hostname='192.168.88.180',username='root',password='root')
command = "free -m"
stdin stdout stderr = ssh.exec_command(command)   #stdin标准输入,stdout标准输出,stderr标准错误输出
res = stdout.read().decode()
print(res)

在这里插入图片描述
akw过滤使用正则

最后

以上就是冷静热狗最近收集整理的关于Python自动化运维的全部内容,更多相关Python自动化运维内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(135)

评论列表共有 0 条评论

立即
投稿
返回
顶部