0
点赞
收藏
分享

微信扫一扫

备份---网络设备的配置定时自动备份

公司现有江苏、浙江、上海的所有网络设备配置备份的需求。我是kali linux环境,ubuntu ,CentOS, Oracle Linux, Red Hat Linux理论上支持。

apt update
apt upgrade –y
apt-get install ruby ruby-dev libsqlite3-dev libssl-dev pkg-config cmake libssh2-1-dev
gem install oxidized
gem install oxidized-script oxidized-web

root权限安装完成后,oxidized -v 显示是0.29.1 ,进行配置:

useradd -m -d /home/oxidized sche01

cp /var/lib/gems/3.1.0/gems/oxidized-0.29.1/extra/oxidized.service /lib/systemd/system

systemctl enable oxidized.service

mkdir -p /home/oxidized/.config/oxidized

mkdir /home/oxidized/.config/oxidized/logs/

mkdir /home/oxidized/.config/oxidized/configs

chown sche01:sche01 /home/oxidized/.config/oxidized

cd /home/oxidized/.config/oxidized/configs

vim config粘贴并保存文件:

username: username

password: password

model: junos

interval: 3600

log: /home/oxidized/.config/oxidized/logs/oxidized.log

debug: false

threads: 30

timeout: 20

retries: 3

prompt: !ruby/regexp /^([\w.@-]+[#>]\s?)$/

rest: 127.0.0.1:8888

next_adds_job: false

vars: {}

groups: {}

models: {}

pid: "/home/oxidized/.config/oxidized/pid"

input:

 default: ssh, telnet

 debug: false

 ssh:

   secure: false

output:

 default: file

 file:

   directory: "/home/oxidized/.config/oxidized/configs"

source:

 default: csv

 csv:

   file: "/home/oxidized/.config/oxidized/router.db"

   delimiter: !ruby/regexp /:/

   map:

     name: 0

     model: 1

     username: 2

     password: 3

   gpg: false

model_map:

 cisco: ios

 juniper: junos

cd  /home/oxidized/.config/oxidized/

vim router.db 并保存(我这儿h3c,其他品牌的OS信息不一样。用表格补齐所有字段,粘贴过来,格式是 IP地址:OS:账号:密码)
172.16.100.1:comware:admin:4z9LmjQL!12
172.16.100.2:comware:admin:ADM62352744aa??aa1
172.16.100.3:comware:admin:adm1122in@12312
172.16.100.6:comware:admin:ji212t@12312
172.16.100.5:comware:admin:ad2m12in@1231122

chown -R sche01:sche01 /home/oxidized/.config/oxidized

systemctl restart oxidized.service

systemctl status oxidized.service

apt install nginx 通过网页查看备份效果

vim /etc/nginx/conf.d/oxidized.conf
server {
        listen 8001;
        listen [::]:8001;
        server_name 192.168.112.128;
        location / {
                proxy_pass http://127.0.0.1:8888/;
        }

        access_log /var/log/nginx/access_oxidized.log;
        error_log /var/log/nginx/error_oxidized.log;
}
cd /var/lib/gems/3.1.0/gems/oxidized-0.29.1/extra/ 
查看vim oxidized.nginx 

配置文件修改自动发邮件提醒IT部:
apt install postfix 选择 no configure
systemctl restart postfix.service
apt install mailutils
cd /var/lib/gems/3.1.0/gems/oxidized-0.29.1/extra/
cp –r /var/lib/gems/3.1.0/gems/oxidized-0.29.1/extra/ /home/oxidized/.config/oxidized/

hooks:
 email_output:
   type: exec
   events: [post_store, node_fail]
   cmd: ' /home/oxidized/.config/oxidized/extra/oxidized-report-git-commits | mail -s "Oxidized updates for ${OX_NODE_NAME}" it@sild.net'
   async: true
   timeout: 120

感谢opscaff.com曹老师的分享,很容易就熟悉了这个工具。

举报

相关推荐

0 条评论