您的位置:

Oxidized: 自动备份网络设备的好帮手

一、什么是Oxidized?

Oxidized是一个Ruby编写的开源项目,它能够帮助我们备份网络设备配置文件并进行版本控制。它通过SSH和Telnet来连接网络设备,将设备的配置信息备份在本地磁盘中,并通过Git等工具来进行版本控制。

Oxidized在备份之前会通过Netmiko、Net::SSH和Net::Telnet等库来连接网络设备,并通过YAML配置文件来实现管理。它能够支持大部分经典网络设备厂商的设备,包括Cisco、Juniper、H3C、华为等。

与其他备份工具相比,Oxidized最大的特点是自动化。它能够根据设备的模板自动备份,并将备份结果存储在本地和远程Git仓库中,从而方便用户进行版本管理和比对。

二、Oxidized的安装与配置

Oxidized的安装非常简单,只需要在Linux/Mac操作系统上执行类似以下命令即可:

sudo apt-get install ruby ruby-dev libsqlite3-dev libssl-dev pkg-config cmake
sudo gem install oxidized oxidized-script oxidized-web

安装过程可能需要花费一些时间,具体时间取决于网络速度和计算机配置。

安装完毕后,我们需要进行一些配置。首先,在编写配置文件前,我们需要创建一个独立的用户,用来运行Oxidized以避免权限问题。在Ubuntu/Debian系统中,可以通过以下命令来创建:

sudo adduser oxidized
sudo usermod -aG sudo oxidized

接下来,我们需要创建Oxidized的配置文件。Oxidized的配置文件是由YAML格式编写的,它定义了网络设备和Git仓库的相关信息。以下是一个简单的配置文件:

username: oxidized
password: SECRET_PASSWORD
model: cisco
interval: 3600
use_syslog: false
debug: false
threads: 30

rest:
 listen: 0.0.0.0:8888
 secure: false

input:
 default: ssh, telnet
 ssh:
   secure: false
 output:
   default: git
   git:
     user: oxidized
     email: oxidized@example.com
     repo: "/home/oxidized/network-configs"
     branch: master
     private_key: /home/oxidized/.ssh/id_rsa
     clone_dir: /home/oxidized/clone-configs
     cron:
       - description: Backup every 6 hours
       hour: "*"
       minute: "0,10,20,30,40,50"
       day: "*"
       month: "*"
       weekday: "*"

在配置文件中,我们需要定义相应的用户名、密码、设备型号和备份周期等信息。其中,Git的配置信息是比较重要的。在上面的例子中,我们将备份结果存储在/home/oxidized/network-configs目录中,并通过Git进行版本控制。

三、Oxidized的使用与维护

使用Oxidized非常简单,只需要执行以下命令即可开始备份:

oxidized

当然,我们还可以将Oxidized作为服务来运行,以便自动启动和管理。以下是一个systemd的配置文件示例:

[Unit]
Description=Oxidized
After=network-online.target

[Service]
User=oxidized
ExecStart=oxidized
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

维护Oxidized也非常简单。我们只需要定期检查备份结果,保证Git仓库的正常运行,即可避免备份失败和数据丢失的问题。

另外,Oxidized还支持多种插件,例如提示插件、邮件通知插件和Web界面插件等。这些插件能够进一步扩展Oxidized的功能和适应更多的需求。

四、总结

Oxidized是一款非常实用的自动化备份工具,它能够帮助我们备份网络设备配置并进行版本控制。相比于手动备份,它能够大大减轻管理难度和工作量。

虽然Oxidized的安装和配置可能比较繁琐,但是一旦配置好,它就能够长期稳定地运行,并为我们带来实实在在的好处。