linux 交换机tftp服务,Linux下搭建TFTP服务器实现定期自动备份CISCO交换机配置文件...

此篇博客介绍了如何使用Perl脚本通过crontab定时执行,定期备份Cisco设备的配置文件,并实现文件管理和审计需求。脚本涉及远程登录、配置复制、时间戳文件夹操作和文件移动,确保安全性和历史记录保存。
摘要由CSDN通过智能技术生成

4.用crontab -e 将脚本添加到计划任务序列中,定期执行。每次自动运行时,新的配置文件会覆盖掉TFTP根目录下旧的配置文件,有审计要求或需要保存多个时间点配置文件的朋友可以在脚本中增加一些创建文件夹、移动文件的命令(黑色表示)。

#!/usr/bin/perl

#backupcisco.pl

use Net::Telnet::Cisco;

use Date::Format;                                  #需要提取当前时间的模块

use Time::ParseDate;                             #

use Net::Ping::External qw(ping);

#tftp服务器地址

my $tftp = '192.168.4.99';

#设备列表,将你要备份的交换机信息保存到device文本文件中,

#一台设备一行信息  各信息项用"|"分隔     如:IP地址|password|enable password|hostname

#设备文本文件最好写全路径,否则添加进crontab表中后无法正常运行

open(FILE,'/home/ciscoback/profiles/device');

while()

{

chomp;

my @fields = split(/\|/,$_);   #以分隔符提取各项登录参数

my $host = $fields[0];

print "host:$host\t";             #设备的ip地址

my $pwd = $fields[1];             #登陆密码

print "pwd:$pwd\t";

my $enpwd = $fields[2];           #enable密码

my $hostname = $fields[3];

print "hostname: $hostname\n";

my $alive = ping(host => $host);   #测试交换机是否能ping通

print "alive: $alive\n";

if ($alive) {

$r = Net::Telnet::Cisco->new(Host=>$host);

$r->login("admin",$pwd);

$r->enable($enpwd);

$r->cmd("copy startup-config tftp\n" . "$tftp\n\n");

$r->close();

}

}

#取当前的时间(年-月-日)

my $ftime = time2str("%Y-%m-%d",parsedate(today));

#根据当前时间创建保存配置文件的文件夹

mkdir ("/home/ciscoback/backfiles/$ftime",0777);

#调用系统shell命令将tftp根目录下的配置文件移动到刚创建的文件夹内

system ("mv /tftpboot/* /home/ciscoback/backfiles/$ftime")0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值