系统、网络运维好帮手:expect

简介:

接上篇“交换机定时自动备份配置文件的方法”,一个网络里因为各种原因,可能会有多种品牌、不同服役年限的交换机,并不是所有都能支持类似kron或job命令,那这个时候只有用到expect了,debian下安装非常简单,自带源里就有,直接 aptitude install expect即可,但有2个基本前提:libc6 (>= 2.3), tcl8.5 (>= 8.5.0),即便netinstall的精简debian,也基本包含了这2个组件,安装过程中不出错,就可以忽略。


安装完成后就可以直接运行设定的脚本了,脚本的权限至少得包含执行,我暂时把脚本设置为751的权限,因为要设置让系统cron每天1点或2点定时运行它。

如何写脚本,就像你如何与交换机进行交互操作一样:登陆设备->提示用户名或密码->输入用户名或密码->特权模式->提示用户名或密码->输入用户名或密码->拷贝配置到服务器端->提示完成->退出登陆。


范例:

#!/usr/bin/expect

spawn telnet switch ip

expect "Password:"

send "telnet password\r"

expect "switch name>"

send "en\r"

expect "Password:"

send "enable password\r"

expect "switch name#"

send "copy startup-config tftp:\r"

expect "Address of remote host"

send "tftp server ip\r"

expect "Destination filename"

send "config file name\r"

expect "switch name#"

send "exit\r"


可以看的出,基本就是一个交互的过程:系统反馈出现什么->发送什么命令。所以这个软件的名字也很贴切“expect"。如果有多台设备,就再增加几段脚本在文件内。

现在,配置已经可以定时备份了,为了把整个管理流程机制做的更完善,我把tftp+web server+expect都做在一个系统上,expect把配置通过tftp传到本地,web服务端可以对配置文件进行编辑、删除、下载等操作。为了安全起见,再设置一下iptables,只允许特定网段tftp传输、web管理,毕竟tftp是个不×××全的协议,只要有地址、文件名都可以上传下载。


最终成型:

0022SyvJgy6OdPc68iG16&690.jpg

题外话:expect在这里的脚本应用只是它一小部分的功能,在实现了所需要的后,我就浅尝辄止了。对于其变量、一致性检查、判断等等,还有待我继续学习。




博主点评:

expect工具让我想到了pexpect工具,这两者相似,后者是expect的一个python实现。

参考博文:Pexpect自动交互系统










本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/2045079,如需转载请自行联系原作者
相关文章
|
3天前
|
存储 运维 监控
监控与日志管理:保障系统稳定运行与高效运维的基石
【8月更文挑战第16天】监控与日志管理是保障系统稳定运行和高效运维的基石。它们不仅能够帮助企业及时发现并解决问题,还能够为性能调优、资源优化和业务决策提供有力支持。因此,在构建系统架构时,企业应高度重视监控与日志管理的规划和实施,确保它们能够充分发挥作用,为企业的发展保驾护航。同时,随着技术的不断进步和应用场景的不断拓展,监控与日志管理也将持续演进和创新,为企业带来更多的价值和便利。
|
6天前
|
机器学习/深度学习 数据采集 人工智能
未来的守护神:AI驱动的网络安全之盾,如何用智慧的光芒驱散网络黑暗势力?揭秘高科技防御系统背后的惊天秘密!
【8月更文挑战第13天】随着网络技术的发展,网络安全问题愈发严峻,传统防御手段已显乏力。本文探讨构建AI驱动的自适应网络安全防御系统,该系统能自动调整策略应对未知威胁。通过数据采集、行为分析、威胁识别及响应决策等环节,利用Python工具如Scapy、scikit-learn和TensorFlow实现网络流量监控、异常检测及自动化响应,从而提升网络安全防护的效率和准确性。随着AI技术的进步,未来的网络安全防御将更加智能和自动化。
19 6
|
3天前
|
运维 监控 安全
运维之道:构建高效、稳定和安全的系统
在数字化时代的浪潮中,运维(运营与维护)的重要性日益凸显。本文深入浅出地探讨了如何构建一个高效、稳定且安全的系统,从基础设施的搭建到日常的监控管理,再到安全防护的策略实施,每一个环节都是确保业务连续性和数据安全的关键。通过实例分析和最佳实践的分享,旨在为读者提供一套完整的运维解决方案,帮助团队提升运维效率,降低风险,保障业务的稳健发展。
|
4天前
|
运维 搜索推荐 大数据
云HIS系统源码,云医院信息系统:以患者为中心的云架构、云服务、云运维的信息体系
医院信息系统(HIS)正借助云计算与大数据技术,从局域网模式向互联网转型,实现医疗服务高效化、个性化。新型医疗卫生信息平台(HIP)构建了以患者为中心的云端服务体系,支持区域内资源统一管理与按需服务,促进医疗机构间的业务协同。系统具备一体化管理、标准化建设等特点,涵盖从门诊到住院全流程,包括挂号、收费、诊疗、药房药库管理等多个模块,支持数据整合与智能分析,助力医疗服务智能化升级与科学决策。
云HIS系统源码,云医院信息系统:以患者为中心的云架构、云服务、云运维的信息体系
|
4天前
|
Linux
虚拟机安装Linux系统的网络配置
该博客文章提供了解决虚拟机中Linux系统网络问题的多种方法,包括重置网络服务、修改网络配置文件、使用不同网络模式等,以确保虚拟机能够成功连接到网络。
虚拟机安装Linux系统的网络配置
|
9天前
|
监控 Linux 测试技术
什么是Linux系统的网络参数?
【8月更文挑战第10天】什么是Linux系统的网络参数?
28 5
|
11天前
|
机器学习/深度学习 监控 算法
基于深度学习网络的人员行为视频检测系统matlab仿真,带GUI界面
本仿真展示了基于GoogLeNet的人员行为检测系统在Matlab 2022a上的实现效果,无水印。GoogLeNet采用创新的Inception模块,高效地提取视频中人员行为特征并进行分类。核心程序循环读取视频帧,每十帧执行一次分类,最终输出最频繁的行为类别如“乐队”、“乒乓球”等。此技术适用于智能监控等多个领域。
27 4
|
11天前
|
机器学习/深度学习 数据可视化 数据挖掘
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
本文介绍了如何在MacOS系统上安装VOSviewer软件,并以ESN(Echo State Network)网络的研究为例,通过VOSviewer对相关科学文献进行可视化分析,以深入了解ESN在学术研究中的应用和发展情况。
24 0
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
|
20天前
|
机器学习/深度学习 人工智能 弹性计算
智能化运维:AI在故障预测与自我修复系统中的应用
随着技术的不断进步,传统的运维模式已逐渐不能满足现代企业的需求。本文将探讨如何通过人工智能技术,特别是机器学习和深度学习算法,实现对IT系统的实时监控、故障预测以及自动化修复。我们将分析AI技术在智能运维中的具体应用案例,并讨论其带来的效率提升和成本节约效果。文章旨在为读者提供一种全新的运维视角,展示AI技术在提高系统稳定性和减少人工干预方面的潜力。
|
2天前
|
运维 网络架构 Python
利用Python查询H3C网络设备示例,运维用了它,都称赞!
利用Python查询H3C网络设备示例,运维用了它,都称赞!