Python在自动化运维中有广泛的应用,以下是一些示例代码:
- 使用SSH连接到远程服务器并执行命令¹²:
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='remote.server.com', username='user', password='password')
stdin, stdout, stderr = ssh.exec_command('ls -l /tmp')
- 解析日志文件并提取有用信息²:
import regex
with open('log.txt', 'r') as f:
log = f.read()
errors = regex.findall(r'ERROR:\\s+(.*)', log)
for error in errors:
print(error)
- 监控系统状态并发送警报²:
import psutil
import smtplib
cpu_percent = psutil.cpu_percent()
if cpu_percent > 80:
server = smtplib.SMTP('smtp.example.com')
server.login('user', 'password')
message = 'CPU 使用率超过 80%:当前使用率为 {}%'.format(cpu_percent)
subject = '警报:高 CPU 使用率'
server.sendmail('alert@example.com', 'admin@example.com', subject, message)
server.quit()
- 批量部署软件或更新系统²:
from fabric import task
@task
def update_system(c):
c.run('apt-get update')
这些示例代码涵盖了不同的自动化运维领域,包括网络爬虫、自动测试、数据处理、系统监控等。希望这些示例对你有所帮助!