centos 7 安装oxidized 实现交换机自动备份

环境:

 centos 7.4 

 华为交换机

一、安装

1. yum remove ruby ruby-devel    // 卸载系统自带的ruby-devel
2. yum groupinstall "Development Tools"   //安装开发部署工具(选装)
3. 安装Ruby2.4.5版本
  wget https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.5.tar.gz
  tar -zxvf ruby-2.4.5.tar.gz
  cd ruby-2.4.5
 ./configure
 make
 make install
4. 安装oxidized
   yum install make cmake which sqlite-devel openssl-devel libssh2-devel ruby gcc ruby-devel libicu-devel gcc-c++   //安装依赖
   gem install oxidized
   gem install oxidized-script oxidized-web
   此处我碰到的问题:
   
ERROR:  Loading command: install (LoadError)
    cannot load such file -- zlib
ERROR:  While executing gem ... (NoMethodError)

   解决方法:
   1. 安装zlib库 yum安装,yum install zlib-devel
   2. 集成zlib库到ruby环境 
     cd /data/ruby-2.4.2
     cd ext/zlib
     ruby extconf.rb
     在操作下一步之前需要修改Makefile文件中的zlib.o: $(top_srcdir)/include/ruby.h,将$(top_srcdir)修改为../..
      如: zlib.o: ../../include/ruby.h
    3. make && make install
    4. 安装openssl库 yum install openssl-devel
    5. 集成openssl库到ruby
        cd /data/ruby-2.4.2
        cd ext/openssl
        ruby extconf.rb
        同样修改Makefile中的$(top_srcdir)为../..
        make & make install 
5.    gem install oxidized
       gem install oxidized-script oxidized-web

至此,oxidized基本安装完成

 二、配置

oxidized重要的配置文件

 config :  主配置文件

 router.db 被备份设备信息配置文件

 *.rb (vrp.rb 我这里是华为的交换机)   交换机系统配置文件 

   // 目录大致(根据安装情况):
/usr/local/lib/ruby/gems/2.4.0/gems/oxidized-0.28.0/lib/oxidized/model  

首先配置oxidized,我直接把我的配置文件贴上来,供大家参考

     ---
username: username
password: password
model: junos
interval: 3600
log: /root/.config/oxidized/logs/oxidized.log
debug: false
threads: 30
timeout: 20
retries: 3
prompt: !ruby/regexp /^([\w.@-]+[#>]\s?)$/
rest: 0.0.0.0:8888
next_adds_job: false    
vars: {}
groups: {}
models: {}    
pid: "/root/.config/oxidized/pid"
input:
  default: ssh, telnet
  debug: false
  ssh:
    secure: false
output:
  default: file
  file:
    directory: "/root/.config/oxidized/configs"
source:
  default: csv
  csv:
    file: "/root/.config/oxidized/router.db"
    delimiter: !ruby/regexp /:/
    map:
      name: 0 
      model: 1
      ip: 2
      username: 3
      password: 4
      group: 5
    gpg: false
model_map:
  cisco: ios
  juniper: junos

 

router.db文件的配置顺序参照config文件中map定义的项目区填写,例如:name:model:ip:username:password:group

最后一个就是os配置文件,里面写的申请处,可以参照已有的配置修改自己需要的部分

 

总的来说,oxidized是一款很简单却很好用的工具,希望我的文档能给大家带来帮助,谢谢。

你可能感兴趣的:(centos)