码迷,mamicode.com
首页 > 系统相关 > 详细

网络设备自动备份shell脚本

时间:2018-02-12 16:50:02      阅读:348      评论:0      收藏:0      [点我收藏+]

标签:dmi   计划任务   邮箱   操作   会话   任务   time   net   循环读取   

这边以华为交换机为例写的脚本,其它产商设备根据设备命令修改脚本即可。


需求

批量备份网络设备配置文件到FTP服务器,并将配置文件所在目录自动压缩在以附件的形式发送到个人邮箱


环境

linux系统:Centos 6.6

网络设备:Huawei CE58/68交换机

iplist文件格式:192.168.1.1:CE6851

 192.168.1.2:CE5855


脚本内容如下:

#!/bin/bash

for IP in `cat /app/backup/iplist`     //通过for循环读取iplist文件

  do

address=`echo $IP |awk -F ":" '{print $1}'`                     //定义变量IP地址,使用awk命令以":"为分割符号取IP地址

name=`echo $IP |awk -F ":" '{print $2}'`                     //定义变量交换机系统名称

        /usr/bin/expect << EOF                              //使用expect命令完成与交换机之间的交互操作

           spawn ssh  -c des -q -o StrictHostKeyChecking=no admin@$address            //启动一个SSH会话

             set timeout 5

             expect "*password:"

             send "Admin@123\r"

             expect "*]:"

             send "n\r"

             expect "*>"

             send "ftp ftp_server address\r"

             expect "none)):"

             send "ftpuser\r"

             expect "*password:*"

             send "Admin@123\r"

             expect "*ftp]"

             sleep 1

             send "binary\r"

             sleep 1

             expect "*ftp]"

             sleep 1

             send "put vrpcfg.zip ${name}.zip\r"    //修改上传到FTP服务器的文件名称

             sleep 1

             expect "*ftp]"

             sleep 1

             send "quit\r"

             sleep 1

             expect "*>"

             sleep 1

             send "quit\r"

             expect eof

EOF

  done

time=$(date "+%y-%m-%d")                  //定义时间变量


/usr/bin/zip -r /app/${time}_config.zip /app/ftp/*.zip        //压缩ftp服务器上保存配置文件的目录

echo "this is test" | mail -s "NetworkConfig" -a /app/${time}_config.zip ******@qq.com     //通过mail命令发送邮件,echo输入邮件内容,-s选项配置邮件名称,-a选项制定附件目录


以上为脚本所有内容,也可以在脚本最后加上rm命令来将已经发送邮件的本地配置文件给删除,然后在配置计划任务周期执行脚本。

此脚本可以备份所有网络设备配置文件或者下发命令,只需要根据设备来修改expect里的内容即可。

网络设备自动备份shell脚本

标签:dmi   计划任务   邮箱   操作   会话   任务   time   net   循环读取   

原文地址:http://blog.51cto.com/sunjie123/2071370

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!