一个实用的Linux脚本-备份交换机和OLT设备启动文件

  • A+
所属分类:系统文档

所谓有备而无患,虽说备份不能百分百保证损失,但是却最大程度降低损失,以及保证业务尽快恢复。所以备份在数据领域是非常重要的,特别是核心设备、关键服务尤其重要。
假如您正好有一台Linux服务器,可以跑一些测试脚本,那么您就可以使用在这个脚本进行对一些设备配置文件进行备份,思路于此,但不仅限于此。

命令简介

  • expect:dnf install expect 或 yum install expect

expect通常是用来等待一个进程的反馈;expect可以接收一个字符串参数,也可以接收正则表达式参数。

  • spawn
    spawn 用于启动新的进程。
  • send
    send 用于接收字符串参数,并将参数传给spawn进程。
  • Telnet:dnf install telnet 或 yum install telnet
    telnet 用于连接交换机等设备,如果用stelnet可以用ssh方式连接。

Shell 脚本

  • 交换机
#!/usr/bin/bash
expect << EOF
# 交换机 192.168.1.12  Telent 方式
spawn telnet 192.168.1.12
set timeout 5
# 输入telnet 用户名及密码
expect "*Username:"
send "test\r"
expect "*Password:"
send "test123456\r"
expect "*>"
# 连接远程 FTP 192.168.1.5 ,端口 8533
send "ftp 192.168.1.5 8533"
expect "*(none)"
# 输入FTP 用户名和密码
send "ftpusername\r"
expect "*password:"
send "ftpusername123\r"
expect "*ftp]"
sleep 2
# 把启动文件 vrpcfg.zip 上传至FTP服务,并改名为 ftp-back-text.zip
# 关于启动文件,可参考交换机手册,不同交换机可能不同
send "put vrpcfg.zip ftp-back-text.zip\r"
expect "*ftp]"
sleep 2
send "quit\r"
sleep 2
send "quit\r"
expect "*>"
send "quit\r"
expect eof
EOF
# 删除过期文件,根据自己需要设置
# 这里假设备份文件在当前目录下,仅保留7天时长的备份文件;
find ./* -type f -mtime +7 -exec rm -f {} \;

  • OLT 脚本

  • 末话

这里博主给出的仅是简单的脚本,各位大佬可根据实际情况进行修改和调整。比如设备分组,未能备份成功的进行记录等都是可以考虑进去的,难点只是一开始不知道怎么进行备份(新手),有了这个脚本例子就可以根据自己需求进行修改。需要注意的是:①权限问题;②安全问题(可以进行默认端口修改,禁止匿名,防火墙或信任主机等措施)。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: