5个常见运维场景,用这几个Python脚本就够了!

许多运维工程师会使用 Python 脚本来自动化运维任务。Python 是一种流行的编程语言,具有丰富的第三方库和强大的自动化能力,适用于许多不同的领域。

在运维领域,Python 脚本可以用来实现各种自动化任务,例如:

  • 连接远程服务器并执行命令

  • 解析日志文件并提取有用信息

  • 监控系统状态并发送警报

  • 批量部署软件或更新系统

  • 执行备份和恢复任务

运用 Python 脚本可以大大提高运维效率,并减少人工干预的错误率。因此,许多运维工程师会选择学习 Python,以便在日常工作中使用它。

当然,运维岗位的具体职责和要求可能因公司而异,有些公司可能并不要求运维工程师会使用 Python 脚本。但总的来说,学习 Python 可以为运维工程师的职业发展带来很大的好处。它可以帮助运维工程师更好地完成日常工作,并为他们提供更多的发展机会。

除了 Python 之外,还有许多其他编程语言也可以用于运维自动化,例如 Bash、Perl、Ruby 等。运维工程师可以根据自己的喜好和需要选择合适的语言学习。

1、连接远程服务器并执行命令

连接远程服务器并执行命令是运维工程师经常要进行的任务之一。使用 Python 脚本可以方便地实现这一操作。

连接远程服务器的方法有很多,常用的有 SSH、Telnet 等协议。在 Python 中,可以使用第三方库 paramiko 来实现 SSH 连接。

下面是一个示例代码,可以使用 SSH 连接远程服务器并执行命令:

import paramiko

# 创建 SSH 客户端
ssh = paramiko.SSHClient()

# 设置为自动接受服务器的 hostkey
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')

2、解析日志文件并提取有用信息

解析日志文件并提取有用信息是运维工程师经常要进行的任务之一。使用 Python 脚本可以方便地实现这一操作。

在 Python 中,可以使用第三方库 regex 来解析日志文件。regex 库提供了丰富的正则表达式工具,可以方便地提取有用的信息。

下面是一个示例代码,可以使用 regex 库解析日志文件并提取有用信息:

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)

在这个例子中,我们使用 regex 库的 findall 函数来匹配日志中的错误信息。findall 函数会返回所有匹配到的信息,我们可以遍历这些信息并打印出来。

当然,这只是一个简单的例子。在实际应用中,我们可以根据需要使用更复杂的正则表达式,并使用更多的 regex 库的功能来解析日志文件。

此外,还可以使用其他第三方库,例如 loguru、python-logstash 等来解析日志文件。这些库提供了丰富的功能和便捷的使用方式,可以让我们更方便地完成日志解析任务。

3、监控系统状态并发送警报

监控系统状态并发送警报是运维工程师经常要进行的任务之一。使用 Python 脚本可以方便地实现这一操作。

在 Python 中,可以使用第三方库 psutil 来监控系统状态。psutil 库提供了丰富的系统信息和监控功能,可以帮助我们监控 CPU、内存、磁盘、网络等系统资源的使用情况。

下面是一个示例代码,可以使用 psutil 库监控 CPU 使用率并发送警报:

import psutil
import smtplib

# 获取 CPU 使用率
cpu_percent = psutil.cpu_percent()

# 判断 CPU 使用率是否超过阈值
if cpu_percent > 80:
    # 建立 SMTP 连接
    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()

在这个例子中,我们使用 psutil 库的 cpu_percent 函数获取当前 CPU 使用率。然后我们使用 smtplib 库建立 SMTP 连接,并使用 sendmail 函数发送警报邮件。

在实际应用中,我们可以根据自己的需要调整监控阈值,并使用更多的 psutil 库的功能来监控其他系统资源。此外,我们也可以使用其他第三方库,例如 nagios-api、sensu-client 等来监控系统状态并发送警报。

总的来说,使用 Python 脚本来监控系统状态并发送警报是一个非常方便的方法,能够为运维工程师提供更多的帮助和支持。

4、批量部署软件或更新系统

批量部署软件或更新系统是运维工程师经常要进行的任务之一。使用 Python 脚本可以方便地实现这一操作。

在 Python 中,可以使用第三方库 fabric 来实现批量部署软件或更新系统。fabric 库提供了丰富的命令行工具和远程执行功能,可以帮助我们在多台远程服务器上执行相同的命令。

下面是一个示例代码,可以使用 fabric 库在多台服务器上执行 apt-get update 命令:

from fabric import task

@task
def update_system(c):
    c.run('apt-get update')

在这个例子中,我们使用 @task 装饰器将 update_system 函数标记为一个 fabric 任务。这个任务接受一个参数 c,表示连接到的远程服务器的上下文。我们使用 c.run 函数在远程服务器上执行 apt-get update 命令。

在实际应用中,我们可以根据自己的需要调整任务的功能,并使用更多的 fabric 库的功能来实现批量部署软件或更新系统。此外,我们也可以使用其他第三方库,例如 ansible、puppet 等来实现批量部署软件或更新系统。

总的来说,使用 Python 脚本来批量部署软件或更新系统是一个非常方便的方法,能够为运维工程师提供更多的帮助和支持。

5、执行备份和恢复任务

执行备份和恢复任务是运维工程师经常要进行的任务之一。使用 Python 脚本可以方便地实现这一操作。

在 Python 中,可以使用 shutil 库来实现文件备份和恢复。shutil 库提供了 copy 函数可以复制单个文件,还有 copytree 函数可以复制整个目录。

下面是一个示例代码,可以使用 shutil 库备份单个文件:

import shutil

# 备份文件
shutil.copy('/path/to/file', '/path/to/backup/file')

在这个例子中,我们使用 shutil 库的 copy 函数备份文件。我们只需要指定文件的路径和备份文件的路径即可。

如果要备份整个目录,可以使用 shutil 库的 copytree 函数。例如:

import shutil

# 备份目录
shutil.copytree('/path/to/dir', '/path/to)

除了上述几点,Python 在运维领域还可以干很多事情。

例如,可以使用 Python 脚本实现自动化测试,比如使用 pytest 库来进行单元测试,或使用 selenium 库来进行自动化测试。

另外,Python 还可以用于数据分析和可视化。可以使用 numpy、pandas 库来处理数据,使用 matplotlib、seaborn 库来进行可视化。

此外,Python 还可以用于机器学习和人工智能。可以使用 scikit-learn、tensorflow 等库来进行机器学习,使用 nltk 库来进行自然语言处理。

总的来说,Python 在运维领域有着广泛的应用,可以帮助运维工程师更高效地完成任务,并为他们提供更多的帮助和支持。

35岁+运维人员的发展与出路

经常有人问我:干网工、干运维多年遇瓶颈,想学点新技术给自己涨涨“身价”,应该怎么选择?

聪明人早已经用脚投票:近年来,越来越多运维的朋友寻找新的职业发展机会,将目光聚焦到了网络安全产业。

1、为什么我建议你学习网络安全?

有一种技术人才:华为阿里平安等大厂抢着要,甚至高薪难求——白帽黑客。白帽黑客,就是网络安全卫士,他们“低调”行事,同时“身价”不菲。

根据腾讯安全发布的《互联网安全报告》,目前中国**网络安全岗位缺口已达70万,缺口高达95%。**而与网络安全人才需求量逐年递增局面相反的是,每年高校安全专业培养人才仅有3万余人,很多企业却一“将”难求,网络安全人才供应严重匮乏。

这种供求不平衡直接反映在安全工程师的薪资上,简单来说就是:竞争压力小,薪资还很高。

而且安全行业就业非常灵活,既可以就职一家公司从事信息安全维护和研究,也可以当作兼职或成为自由职业者,给SRC平台提交漏洞获取奖金等等。

随着国家和政府的强监管需求,一线城市安全行业近年来已经发展的相当成熟工作机会非常多,二三线城市安全也在逐步得到重视未来将有巨大缺口。

作为运维人员,这几年对于安全的技能要求也将不断提高,现阶段做好未来2到3年的技术储备,有非常大的必要性

2、运维转型成为网络安全工程师,是不是很容易?

运维转安全,因为本身有很好的Linux基础,相对于其他人来说,确实有一定的优势,入门会快一些。
系统管理经验
运维对服务器、网络架构的深度理解,可直接迁移到安全防护场景。例如,熟悉Linux/Windows系统漏洞修补、权限管控,能快速上手安全加固工作。
网络协议与架构知识
运维日常接触TCP/IP、路由协议等,有助于分析网络攻击路径(如DDoS防御、流量异常检测)。
自动化与脚本能力
运维常用的Shell/Python脚本技能,可无缝衔接安全工具开发(如自动化渗透脚本、日志分析工具)。
平滑过渡方向
从安全运维切入,逐步学习渗透测试、漏洞挖掘等技能,利用现有运维经验快速上手。
学习资源丰富
可复用运维工具(如ELK日志分析、Ansible自动化)与安全工具(如Nessus、Metasploit)结合学习,降低转型成本。

3. 转型可以挖漏洞搞副业获取收益挖SRC漏洞

  1. 合法挖洞:在合法的平台上挖掘安全漏洞,提交后可获得奖励。这种方式不仅能够锻炼你的技能,还能为你带来额外的收入。

  2. 平台推荐:

补天:国内领先的网络安全漏洞响应平台。

漏洞盒子:提供丰富的漏洞挖掘任务。

CNVD:国家信息安全漏洞共享平台。

关于我

有不少阅读过我文章的伙伴都知道,笔者曾就职于某大厂安全联合实验室。从事网络安全行业已经好几年,积累了丰富的技能和渗透经验。

在这段时间里,我参与了多个实际项目的规划和实施,成功防范了各种网络攻击和漏洞利用,提高了互联网安全防护水平。

在这里插入图片描述

为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

中兴光猫运维工具包,2025.8更新,自用版本,已内置教程和操作实例、注意事项等参考文档。仅针对中兴光猫(以及找中兴代工的光猫)使用,和其他厂商并不通用。汇集了处理最新固件版本的光猫运维(以开启Telnet为目录的)相关工具,同时保留了用于处理老版本光猫的历史版本,供参考使用。如何开启Telnet的整体方法,以及更多操作(如救砖和其他开启Telnet方式案例)、更多详情和注意事项等,均参见:<https://blog.youkuaiyun.com/zhiyuan411/article/details/128728958> 工具包主要内容与模块 1 开启Telnet工具 该模块提供多种实用工具 用于开启光猫的Telnet服务 这是进行后续高级操作的基础 工具包针对不同版本的光猫和设备平台进行了细致分类 1.1 新版工具 如zteONU_custom_0.0.7 提供Windows Linux amd64 arm64 386 及MacOS Intel arm 多平台版本 适用范围广 并附有使用说明和Mac地址更改指导 1.2 TelnetONU1.5 包含Python脚本和Windows预编译版本 支持通过特定漏洞开启工厂模式 适用于新款天翼4.0等光猫 内置详细教程和测试用例 1.3 历史版本工具 如TelnetONU1.4 保留用于兼容旧型号光猫 确保工具包的全面性 2 配置文件处理工具 该模块是工具包的核心 用于对光猫的配置文件 通常为.cfg或.xml格式 进行解密 编辑和重新加密 2.1 zxcfg工具 v1.2及历史版本 支持Windows 32位 64位 Linux Ubuntu 20.04 x64 及ARM架构设备 提供命令行和批处理脚本 如拖入xml进行打包 解包 可自定义光猫32位密钥进行操作 2.2 ZTE_Patrina可视化工具 提供图形界面 ZTE_Patri
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值