网络配置备份
netcfgbu的Python项目详细描述
网络配置备份
作为一名网络工程师,我需要将我的网络配置文件备份到 版本控制系统,我需要一个工具来自动化这个过程。我的初选 访问设备的方法是SSH。在
支持的设备netcfgbu
工具是专门为备份网络操作系统(NOS)而构建的
本质上是整体的结构。也就是说整个
可以使用诸如“show running config”之类的命令捕获配置。任何
提供单片配置的NOS应得到netcfgbu
的支持。在
主要考虑事项
- 在
我有一个多供应商的环境。我需要解释一下不同的命令 用于获取正在运行的配置并在以下情况下禁用分页 必修的。在
在 - 在
我想提供一个简单的CSV格式的网络清单。我想 从一个或多个源动态创建此资源清册,例如Netbox。 我希望有能力过滤这个库存限制和排除限制。在
在 - 在
我可能需要尝试多个SSH凭据。我不能把我的密码储存在 任何配置文件,因此此工具必须通过环境获取密码 变量。在
在 - 在
我将有大量的设备(>;1000),所以我希望这个工具采取 任何减少总时间的技术的优势。在
在
netcfgbu
的一般方法是基于配置的方法,以便
不要硬编码该工具以使用特定的网络设备驱动程序
并避免包含第三方集合的复杂性和依赖性
特定于网络设备的库。在
阅读文档here。
阅读快速入门here
Example netcfgbu.toml configuration
简介
一旦您设置了configuration文件并 inventory文件您可以备份所有配置 使用命令:
$ netcfgbu backup
运行结束时,您将看到一个报告,例如:
^{pr2}$还有许多其他的commands,如--help
所示:
Usage: netcfgbu [OPTIONS] COMMAND [ARGS]... Options: --version Show the version and exit. --help Show this message and exit. Commands: backup Backup network configurations. inventory Inventory subcommands. login Verify SSH login to devices. probe Probe device for SSH reachablility. vcs Version Control System subcommands.
设置
netcfgbu
工具不需要您创建配置文件,但是
出于实际目的,您通常需要一个。文件是
TOML格式。默认为文件
netcfgbu.toml
和netcfgbu
在当前工作目录中搜索。
您可以使用-C <filepath>
选项或使用
环境变量NETCFGBU_CONFIG
至少需要指定inventoryCSV文件和
一组默认的SSH登录凭据。网络设备配置将是
存储在当前工作目录中,或在defaults.configs_dir
中指定
选项。配置文件支持使用环境变量。在
示例:
[defaults]inventory="$PROJ_DIR/inventory.csv"configs_dir="$PROJ_DIR/configs"credentials.username="$NETWORK_USERNAME"credentials.password="$NETWORK_PASSWORD"
netcfgbu
定义了特定的Environment Variables的使用。他们的
use相当于以下配置文件。也就是说,如果您没有提供netcfgbu
a
配置文件,这将用于:
[defaults]inventory="$NETCFBU_INVENTORY"configs_dir="$NETCFGBU_CONFIGSDIR"credentials.username="$NETCFGBU_DEFAULT_USERNAME"credentials.password="$NETCFGBU_DEFAULT_PASSWORD"
系统要求和安装
此工具需要使用Python3.8。
可通过PyPI安装:
$ pip install netcfgbu
问题或建议?
如果您有任何问题或建议,请打开github问题。在
谢谢你!在
- 项目
标签: