5 种常见运维场景的 Python 脚本实现
前言
Python 因其丰富的第三方库和强大的自动化能力,在运维领域被广泛用于实现各种自动化任务。通过编写 Python 脚本,运维工程师可以连接远程服务器、解析日志、监控系统状态、批量部署软件以及执行备份恢复任务,从而大大提高效率并减少人工干预的错误率。
1. 连接远程服务器并执行命令
连接远程服务器并执行命令是运维的基础操作。在 Python 中,可以使用 paramiko 库来实现 SSH 连接。
依赖安装:
pip install paramiko
示例代码:
import paramiko
# 创建 SSH 客户端
ssh = paramiko.SSHClient()
# 设置为自动接受服务器的 hostkey(生产环境建议配置已知主机列表)
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
# 连接远程服务器
ssh.connect(hostname='remote.server.com', username='user', password='password')
# 执行命令
stdin, stdout, stderr = ssh.exec_command('ls -l /tmp')
print(stdout.read().decode())
except Exception as e:
print(f"连接失败:{e}")
finally:
ssh.close()
2. 解析日志文件并提取有用信息
解析日志文件并提取关键信息对于故障排查至关重要。Python 内置的 re 模块提供了强大的正则表达式工具。
示例代码:
import re
# 读取日志文件
with open('log.txt', 'r', encoding='utf-8') as f:
log = f.read()
# 使用正则表达式匹配错误信息
errors = re.findall(r'ERROR:\s+(.*)', log)
# 打印出所有匹配到的错误信息
for error in errors:
(error)


