Centos7利用tftp与shell备份H3C设备配置

news2024/11/23 4:50:56

二、TFTP+H3C

TFTP(Trivial File Transfer Protocol)是一种简单的文件传输协议,通常用于在计算机网络中传输小文件,如配置文件、固件和其他小型数据文件。TFTP被设计成一种轻量级的协议,因此相对于其他文件传输协议(如FTP)而言,功能较少但更易于实现。

安装tftp

关闭防火墙

systemctl stop firewalld && systemctl disable firewalld

关闭selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config && setenforce 0

通过yum安装tftp服务器

yum -y install xinetd tftp tftp-server

安装了expect软件包,用于自动化交互式的命令行会话

yum -y install expect

创建TFTP主目录

mkdir -p /data/tftpboot

修改主目录权限

chmod 777 /data/tftpboot

修改tftp主配置文件

vi /etc/xinetd.d/tftp    

修改后的配置文件如下

service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /data/tftpboot -c    
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}


server_args        = -s /data/tftpboot -c    # 注意这行,如果允许上传,一定要加上参数 -c
disable            = no                #这行默认为yes,改成no,允许

启动tftp服务并设置开机自启

systemctl start xinetd.service && systemctl enable xinetd.service


#查看tftp是否启动
netstat -ntlup |grep 69                 
netstat -a |grep tftp

如果有启动iptables,需要放行端口

iptables -A INPUT -p udp --dprot 69 -j ACCEPT

交换机备份

<1>手动备份
登录交换机,执行命令:tftp 172.16.0.10 put startup.cfg 192.168.100.1.cfg

tftp 172.16.0.10 put startup.cfg 192.168.100.1.cfg

<2>脚本自动备份

创建脚本文件

mkdir -p /usr/local/src/srcipts
cd /usr/local/src/srcipts
vi  sw2_back.sh

复制粘贴以下脚本:

#!/bin/bash

# 交换机列表,每个元素格式为 "交换机IP"
switches=(
        "192.168.100.1"
        "192.168.100.2"
        "192.168.100.3"
        "192.168.100.5"
        "192.168.100.10"
        "192.168.100.11"
        "192.168.100.12"
        "192.168.100.13"
        "192.168.100.14"
        "192.168.100.15"
        "192.168.100.16"
        "192.168.100.20"
        "192.168.100.21"
        "192.168.100.22"
        "192.168.100.23"
        "192.168.100.24"
        "192.168.100.25"
        "192.168.100.26"
        "192.168.100.27"
        "192.168.100.28"
        "192.168.100.30"
        "192.168.100.31"
        "192.168.100.40"
        "192.168.100.41"
        "192.168.100.50"
        "192.168.100.51"
        "192.168.100.52"
        "192.168.100.60"
        "192.168.100.63"
        "192.168.100.64"
        "192.168.100.65"
        "192.168.100.66"
    # 可以继续添加更多交换机
)

# TFTP服务器的信息
tftp_server="172.16.0.10"
backup_directory="/data/tftpboot"

# 账号密码
username="交换机ssh登录账户"
password="登录密码"

for switch_ip in "${switches[@]}"; do
    backup_filename="${switch_ip}.cfg"

    expect << EOF
    spawn ssh $username@$switch_ip
    expect {
        "Are you sure you want to continue connecting (yes/no)?" { send "yes\r"; exp_continue }
        "password:" { send "$password\r" }
    }
    expect "#"
    send "tftp $tftp_server put startup.cfg $backup_filename\r"
    expect {
        "100%" { exp_continue }
        "#" { send "quit\r" }
    }
    expect eof
EOF
    # 检查备份是否成功
#    tftp_status=$(tftp $tftp_server -c get $backup_filename $backup_directory/$backup_filename 2>&1)
#    if [ $? -eq 0 ]; then
#        echo "交换机 $switch_ip 备份成功"
#    else
#        echo "交换机 $switch_ip 备份失败: $tftp_status"
#    fi
done

脚本赋权

chmod +x sw2_back.sh

手动执行脚本

sh  sw2_back.sh

查看执行情况:
ll /data/tftpboot/

在这里插入图片描述
查看172.16.0.10的备份日志
cat /data/log/h3c/switch_log | grep 172.16.0.10
在这里插入图片描述

定时备份,使用Crontab 表达式做定时执行脚本
在这里插入图片描述

编辑cron表

crontab -e

打开文本编辑器,添加定时任务:
每周五凌晨1点定时执行脚本

0 1 * * 5 sh /usr/local/src/srcipts/sw2_back.sh > /dev/null 2>&1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1183810.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

win7电脑怎么录屏?教你一键捕捉电脑屏幕

在Win7操作系统中&#xff0c;录制屏幕活动是一项重要且有用的功能。不仅可以用于制作教程和演示文稿&#xff0c;还可以用于记录游戏过程或视频会议。可是win7电脑怎么录屏呢&#xff1f;在本文中&#xff0c;我们将介绍三种流行的Win7电脑录屏方法。通过本文&#xff0c;您将…

浅谈余压监控系统在某高层住宅的应用方案

【摘要】&#xff1a; 本文介绍了余压监控系统的基本架构和功能&#xff0c;结合某高层住宅建设实例分析了高层民用建筑中设置此系统的优点与必要性&#xff0c;总结了余压监控系统的功能用于高层建筑物中楼梯间和前室、前室和走道之间的余压的监控与调节&#xff0c;使监控区域…

3D可视化字母出现频率_vtkLinearExtrusionFilter

开发环境&#xff1a; Windows 11 家庭中文版Microsoft Visual Studio Community 2019VTK-9.3.0.rc0vtk-example参考代码目的&#xff1a;学习与总结 demo解决问题&#xff1a;统计输入文本中字母出现的频率&#xff0c;不区分大小写&#xff0c;使用3D可是化方式进行显示&…

Floor报错注入理论及实战

rand()函数&#xff1a;随机返回0-1之间的小数 floor()函数&#xff1a;小数向下取证书。向上取整数ceiling() concat_ws函数&#xff1a;将括号内数据用第一个字段连接起来 group by子句&#xff1a;分组语句&#xff0c;常用语结合统计函数&#xff0c;根据一个或多个列&a…

Spring Security使用总结五,加密用户密码,不再使用明文保存密码

上一章我们成功的注册了一个新用户&#xff0c;按照正常逻辑来说&#xff0c;这一章应该是登录了&#xff0c;但是我们也看到了&#xff0c;这数据库保存的居然是明文密码&#xff0c;这谁受得了&#xff0c;这要是用户信息泄露了&#xff0c;这不让人一锅端了啊&#xff0c;还…

LeetCode | 21. 合并两个有序链表

LeetCode | 21. 合并两个有序链表 OJ链接 定义一个新链表&#xff0c;把小的结点尾插到新的链表注意在插入新的链表中&#xff0c;1. 空链表&#xff0c;插入的节点就是链表的头节点和尾结点。2. 非空链表&#xff0c;插入的节点就是链表的新的尾结点&#xff0c;头结点不变…

Lazarus安装和入门资料

azarus-2.2.6-fpc-3.2.2-win64 下载地址 Lazarus 基础教程 - Lazarus Tutorials for Beginners Lazarus Tutorial #1 - Learning programming_哔哩哔哩_bilibili https://www.devstructor.com/index.php?pagetutorials Lazarus是一款开源免费的object pascal语言RAD IDE&…

【Linux权限:系统中的数字锁与安全之门】

1.Linux下的用户 Linux下有两种用户&#xff1a;超级用户&#xff08;root&#xff09;、普通用户。 超级用户&#xff1a;可以再linux系统下做任何事情&#xff0c;不受限制普通用户&#xff1a;在linux下做有限的事情。超级用户的命令提示符是“#”&#xff0c;普通用户的命令…

HashMap 是怎么解决哈希冲突的?

&#xff08;本文摘自mic老师面试文档&#xff09; 常用数据结构基本上是面试必问的问题&#xff0c;比如 HashMap、LinkList、 ConcurrentHashMap 等。 关于 HashMap&#xff0c;有个学员私信了我一个面试题说&#xff1a; “HashMap 是怎么解决哈希冲突 的&#xff1f;” …

Redis极速上手开发手册【Redis全面复习】

文章目录 什么是RedisRedis的特点Redis的应用场景Redis安装部署Redis基础命令Redis多数据库特性Redis数据类型Redis数据类型之stringRedis数据类型之hashRedis数据类型之listRedis数据类型之setRedis数据类型之sorted set案例&#xff1a;存储高一班的学员信息 Redis封装工具类…

DevExpress WinForms桑基图组件,开创大数据流可视化新方式!

界面控件DevExpress WinForms能帮助开发者创建信息丰富的WinForms应用程序&#xff0c;使用其Sankey Diagram&#xff08;桑基图&#xff09;控件&#xff0c;您可以非常轻松地可视化大数据的数据流。 DevExpress WinForms有180组件和UI库&#xff0c;能为Windows Forms平台创…

获奖名单出炉 ,鲲鹏应用创新大赛2023全国总决赛圆满落幕

11月2日&#xff0c;以“数智未来 因你而来”为主题的鲲鹏应用创新大赛2023全国总决赛在四川成都顺利举办。经过长达6个月的层层筛选与激烈角逐&#xff0c;最终从三大赛事、5大赛道中评选出了13个金奖、16个银奖、19个铜奖。 鲲鹏应用创新大赛是面向全球开发者的顶级赛事&…

DxO照片处理工具合集:FilmPack+PureRAW+PhotoLab+ViewPoint中文版

DxO照片处理工具合集是一款强大而全面的图像处理软件&#xff0c;它可以帮助您提升照片的质量&#xff0c;使其更加出色。无论您是一名专业摄影师&#xff0c;还是一个热爱摄影的业余爱好者&#xff0c;DxO照片处理工具合集都能满足您的需求&#xff0c;让您的照片更加出众&…

单元测试框架----UnitTest框架

UnitTest框架核心要点&#xff1a;TestCase(测试用例)、TestSuite(测试套件)、TextTestRunner&#xff08;测试执行器&#xff09;、TextTestResult&#xff08;测试报告&#xff09;、Fixture&#xff08;测试夹具&#xff09; TestSuite 步骤&#xff1a; 步骤1&#xff1a…

git解决冲突的方法。

1、 cherry-pick git fetch ssh://jingyou.caigerrit.transtekcorp.com:29418/leshan refs/changes/23/34123/3 && git cherry-pick FETCH_HEAD2、 文件解冲突&#xff01; 3、 cherry-pick完整。 git cherry-pick --continue4、查看状态。 5、 push。 git push o…

ChatGPT如何管理对话历史?

问题 由于现在开始大量使用ChatGPT对话功能&#xff0c;认识到他在提供启发方面具有一定价值。比如昨天我问他关于一个微习惯的想法&#xff0c;回答的内容还是很实在&#xff0c;而且能够通过他的表达理解自己的问题涉及到的领域是什么。 此外&#xff0c;ChatGPT能够总结对话…

Stable Diffusion:最先进的文本生成图像模型

稳定扩散 生成式 AI 技术正在迅速发展&#xff0c;现在可以简单地根据文本输入生成文本和图像。Stable Diffusion 是一种文本到图像模型&#xff0c;使您能够创建逼真的应用程序。 扩散模型通过学习去除添加到真实图像中的噪声进行训练。这种降噪过程会产生逼真的图像。这些模…

第一章《补基础:不怕学不懂微积分》笔记

微积分包含众多知识点&#xff0c;例如极限概念、求导公式、乘积法则、链式法则、隐函数求导、 积分中值定理、泰勒公式等。其中&#xff0c;研究导数、微分及其应用的部分一般称为微分学&#xff0c;研究不定积分、定积分及其应用的部分一般称为积分学。微分学和积分学统称为微…

增强swagger

<dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>${org.springdoc.version}</version> </dependency> Swagger版本要与springboot 版本对应 2.1.0 -&…

携手武重集团共建新营销一体化平台,助推央企迈向世界一流

党的二十大报告指出&#xff0c;深化国资国企改革&#xff0c;加快国有经济布局优化和结构调整&#xff0c;推动国有资本和国有企业做强做优做大&#xff0c;提升企业核心竞争力&#xff0c;加快建设世界一流企业。 在数字中国建设的新时新征程中&#xff0c;数字化转型赋能央…