首页 > 其他分享 >脚本批量备份交换机路由器配置研究

脚本批量备份交换机路由器配置研究

时间:2023-04-02 15:15:50浏览次数:33  
标签:3000 win 备份 excel 交换机 ssh csv powershell 路由器


交换机 路由器 配置文件 备份 批量 脚本 powershell router switch backup ssh

powershell 传教士 原创文章。始于 2023-04-02 允许转载,但必须保留名字和出处,否则追究法律责任

 

---【前言】---

最近我看了一篇文章。讲的是:
【目的】:以5分钟为循环周期,经ssh,用密码,用py批量备份交换机、路由器配置。
路由器的备份命令,极其简单,就是【dis cur】
看完有感,就写了此贴。


---【正文:依次分析】---

 

1任务计划:
卡死你3000有最好的任务计划。它位于主控机上,这个是跨win,linux通用的。是基于心跳的高可用双机。支持如67分钟一次的循环。
对于上述目的,如果你要想有1个,跨平台,高可用的任务计划,就需要我这个。
不过,一般来讲没必要用这么强大的功能。用win,linux的任务计划就够用。


2并发批量:
并发批量快速。但本例子基本不需要。
并发批量有,防止卡单个【被控机】卡死的优势。但目标交换机,基本不存在这种情况。

2.1多进程并发:powershell v5,v7中,自带多进程并发。我觉得这里不适用。

2.2powershell v5中的多线程并发:
powershell v5中有多线程并发。自写脚本稍微有一点点麻烦,我们都安装并使用模块:PoshRSJob

2.3powershell v7中的多线程并发:
powershell v7中,有2种多线程并发。用起来都很简单。
2.3.1 Start-ThreadJob
2.3.2 foreach-object -Parallel。


3ssh客户端:
powershell,kasini3000中并不含有ssh客户端,它调用win-linux本机的客户端,如ssh.exe。但ssh.exe输入密码麻烦,这里不适用。
3.1 putty中的plink.exe。
3.2 powershell的ssh模块。如posh-ssh。
3.3 winscp的powershell模块。
在卡死你3000中,这是一个我封装的独立的脚本。c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1
3.4 powershell的ssh命令:new-pssession。 它在ssh客户端基础上,提供了远程传代码,远程对象的功能。这里不适用。


4数据源,目标数据库:
4.1 卡死你3000后台任务结果,自动入主控机的sqlite数据库。c:\Users\你的win账号\Documents\kasini3000\cmdb\fubao2.sqlite3 或 /root/kasini3000/cmdb/fubao2.sqlite3
4.2 卡死你3000任务计划后台任务结果,自动入主控机的sqlite数据库。user_crontab.sqlite3,目录同上。
4.3 powershell,卡死你3000中,支持各种数据库客户端。

https://gitee.com/chuanjiao10/powershell

目前免费的有:sqlserver,azuresql,mysql,sqlite。etcd。
我收费分享的有:excel=10元。win,linux,通用,需要加载dll,不需要安装excel,不需要安装powershell模块。
redis=20。win,linux,通用,需要加载dll,不需要安装powershell模块。
4.4 写入文本。
4.5 csv文件。


---【结论和脚本代码】---

问:完成目的,不并发,【顺序批量】的方案是什么?
答:
下载putty,并用win任务计划,和导入csv:

$csv = import-csv -path 'd:\file.csv'
$csv | foreach-object {
    $返回 = plink.exe -batch -ssh -l root -P 端口 -pw 密码 $_ "dis cur"
    set-content -path 某个文件.txt -value $返回
}

 

 

问:完成目的,不装卡死你3000,【并发批量】的方案是什么?
答:
安装powershell7,下载putty,并用win任务计划,和导入csv:

$csv = import-csv -path 'd:\file.csv'
$csv | foreach-object -Parallel {
    $返回 = plink.exe -batch -ssh -l root -P 端口 -pw 密码 $_ "dis cur"
    set-content -path 某个文件.txt -value $返回
}

 

 

问:完成目的,不装powershell7,【并发批量】的方案有哪些?
答:
https://gitee.com/chuanjiao10/kasini3000
从上述地址,下载并解压卡死你3000,并把相关模块复制到模块目录。这样就不用装powershell v7。
去网上找到读取excel文件的代码。

$csv = import-csv -path 'd:\file.csv'
$csv | foreach-object {
    Start-RSJob -ScriptBlock {
        $返回 = plink.exe -batch -ssh -l root -P 端口 -pw 密码 $_ "dis cur"
        set-content -path 某个文件.txt -value $返回
    }
}        

 


问:卡死你3000中,plink.exe的替代脚本怎么用?
答:
.\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $_ -用户名 'root' -密码 '交换机密码' -单行shell命令 'dis cur'
它基于这个powershell模块:winscp


问:读取excel单元格脚本,怎么用?
答:
$ip = ./read-excel-1cell2.ps1 -file /ps1/x项目审批表.xlsx -sheet_name 'sheet1' -行号 2 -列号 'f'

功能:
可用于监控;统计;win,linux,系统信息采集等。
1读【单个excel单元格】的值。read-excel-1cell2.ps1
2写【单个excel单元格】的值。write-excel-1cell2.ps1
3读【m行,n列,excel单元格】的值。read-excel-range2.ps1
4写【m行,n列,excel单元格】的值。write-excel-range2.ps1
5写【1行excel单元格】的值。write-excel-rows2.ps1
6写【1列excel单元格】的值。write-excel-colum2.ps1
7找替【m行,n列,excel单元格】的值。replace-excel-range2.ps1

 

问:不收费的,mysql等数据库客户端脚本,怎么用?
答:

$q = 'INSERT INTO xxx (aa,bb) values (11,22);'
./mysql_insert_net48t_Transaction.ps1 -query $q -server $服务器ip -port 3306 -username $账号 -pass $密码 -database 'db'

 


其中:
.net48代表.net 4.8,
t代表tls,
Transaction,代表事物。这样知道是否成功插入。


问:卡死你3000中,顺序批量的,telnet脚本是什么?
答:
用法:命令放入txt,一行一条命令。

c:\ProgramData\kasini3000\master_script\ptelnet_v1.01.ps1 -Ip "192.168.10.1" -Commands (Get-Content "c:\scripts\commands.txt")

 


卡死你3000,是这个软件第一版的开发代号。而第二版的开发代号是:
《穿云箭》
寓意:一支穿云箭,千万被控机,从斧*头*帮;)赶来相见。win-linux忠义胆,刀山火海提命令现。只要【命令】,不要【命】^_^


-完-

标签:3000,win,备份,excel,交换机,ssh,csv,powershell,路由器
From: https://www.cnblogs.com/piapia/p/17280490.html

相关文章

  • 小米路由器3C刷入Breed和OpenWrt
    本文链接:https://www.cnblogs.com/snoopy1866/p/17278237.html准备工具:小米路由器3C(R3L)、网线、电脑准备软件:Xshell教程中使用到的文件均打包保存在:https://wwpe.lanzoub.com/ibnVl0rqr09a教程参考了以下多位大佬的帖子:https://www.right.com.cn/forum/forum.php?mod=viewthr......
  • 备份 Linux 系统神器:rsync
    导读探索rsync在备份方案中的作用。在系统管理员的工作中备份无疑是一个重要的部分。当没有完整备份或者良好规划的备份和实施时,就可能或早或晚不可挽回地丢失重要的数据。所有公司,无论大小,都运营在数据之上。考虑到丢失业务数据造成的经济和业务损失,从最小的个人公司到......
  • DG和ADG备库RMAN备份恢复
    DG和ADG备库备份恢复测试文档初衷:应对非银检查项,由于需要灾备机房也要有数据库测试,但是两地专线之间的带宽有限;故而领导要求备库备份在灾备本地恢复,呃(⊙﹏⊙)。1.DG备库RMAN备份恢复(RAC和单实例都适用)首先DG备库的状态是mount的状态,所以数据库本身的数据就是一致性的......
  • 工业交换机如何运维?
    什么是工业交换机?工业交换机又叫工业以太网交换机,是一种针对普通交换机改良后的特殊类型。工业交换机是一种应用于工业控制领域的以太网交换机设备,它专门为满足灵活多变的工业应用需求而设计。与普通交换机不同的是,工业交换机具有电信级的性能特征,可以承受严苛的工作环境。大型......
  • xshell - 强制更新 前 备份服务器连接信息
    1.背景今天打开xshell,提示要求强制更新版本,且打不开页面,以前是关闭提示是可以打开的,那么,更新就更新吧,可我配置好的服务器连接信息不可丢2.解决我在这个路径找到了,不同的电脑位置有点差异,基本一致 ......
  • 东用科技路由器与H3C Router构建IPSec VPN配置指导手册
    东用科技路由器与H3CRouter构建IPSecVPN配置指导手册一、H3CRouter配置:<H3CRouter>system-view//进入配置模式[H3CRouter]local-useradmin//添加本地用户[H3CRouter-luser-cisco]passwordsimpleadmin//为添加的用户设置密码[H3CRouter-luser-cisco]service-typeweb//开......
  • 华为s5700交换机忘记console的密码,重置console密码
    设备的BootROM提供了清除Console口密码的功能。1、进入BootROM主菜单用串口线连接设备,然后重启。当出现PressCtrl+BtoenterBootROMmenu…(V200R002及V200R003版本)或者PressCtrl+BorCtrl+EtoenterBootROMmenu…(V200R005及以后发布的版本)打印信息时按下Ctrl+B或者Ct......
  • shell脚本-巡检华为路由器、交换机板卡状态
    将巡检的设备状态信息文件放到和shell脚本一个目录下,执行bash脚本名称forfilenamein$(ls|grepSD1);do device_model=$(cat$filename|grep"'sDevicestatus"|cut-d"'"-f1) if[[$device_model="NE40E-X8"]];then sysname=$(cat$filen......
  • 苹果手机通讯录备份用什么工具 苹果手机通讯录备份到本地方法
    随着科技的发展,视频通话成为主流的交流方式。但手机通讯仍然是使用最多的功能,因此手机的通讯录是非常重要的。通讯录中保存着非常多重要的联系方式。很多用户担心手机丢失,因......
  • 苹果手机应用如何备份 苹果手机应用备份到安卓手机
    苹果手机的应用一旦被卸载,软件产生的数据(例如:聊天软件产生的聊天记录等)也会一并删除。为了防止误删软件造成软件数据丢失,你可以将应用备份,苹果手机应用如何备份?很多从安卓手......