一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用Python腳本備份華為交換機(jī)的配置信息

網(wǎng)絡(luò)技術(shù)干貨圈 ? 來源:網(wǎng)絡(luò)技術(shù)干貨圈 ? 2024-08-12 17:50 ? 次閱讀

轉(zhuǎn)載請注明以下內(nèi)容:

來源:公眾號【網(wǎng)絡(luò)技術(shù)干貨圈】

作者:圈圈

ID:wljsghq

在現(xiàn)代網(wǎng)絡(luò)管理中,備份交換機(jī)的配置信息是一項(xiàng)至關(guān)重要的任務(wù)。備份可以確保在交換機(jī)發(fā)生故障或配置錯(cuò)誤時(shí),能夠迅速恢復(fù)到之前的工作狀態(tài)。本文將詳細(xì)介紹如何使用Python腳本備份華為交換機(jī)的配置信息。

在開始編寫Python腳本之前,我們需要準(zhǔn)備以下環(huán)境:

Python環(huán)境:確保系統(tǒng)已經(jīng)安裝了Python 3.x。如果沒有,可以從Python官方網(wǎng)站https://www.python.org下載并安裝。

Paramiko庫:這是一個(gè)用于SSH連接的Python庫。可以使用以下命令安裝:

pipinstallparamiko

wKgaoma52uiAJoXeAAIKYCVp85o057.jpg

華為交換機(jī):本文假設(shè)你已經(jīng)有一臺(tái)華為交換機(jī),并且可以通過SSH進(jìn)行訪問。

交換機(jī)配置文件的存儲(chǔ)位置:一個(gè)可以存儲(chǔ)備份文件的目錄。

備份華為交換機(jī)配置文件的基本步驟如下:

通過SSH連接到交換機(jī)。

執(zhí)行相應(yīng)的命令獲取配置文件。

將配置文件保存到本地。

編寫Python腳本

接下來,我們將詳細(xì)編寫一個(gè)Python腳本來實(shí)現(xiàn)上述步驟。

導(dǎo)入必要的庫

首先,我們需要導(dǎo)入必要的Python庫:

importparamiko
importos
fromdatetimeimportdatetime

wKgaoma52vKAW_KDAAAhBo2pDzc147.jpg

配置連接信息

我們需要配置SSH連接的信息,包括交換機(jī)的IP地址、用戶名和密碼等:

hostname='交換機(jī)的IP地址'
username='用戶名'
password='密碼'
port=22#默認(rèn)SSH端口

wKgaoma52vuAbvh-AAA6Er-TR4o046.jpg

創(chuàng)建SSH連接

使用Paramiko庫創(chuàng)建SSH連接:

defcreate_ssh_client(hostname,port,username,password):
client=paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname,port,username,password)
returnclient

wKgaoma52wWAZhhjAACKGveutJw463.jpg

獲取交換機(jī)配置

連接成功后,我們需要執(zhí)行交換機(jī)的命令來獲取配置文件。華為交換機(jī)常用的命令是display current-configuration。

defget_switch_configuration(client):
stdin,stdout,stderr=client.exec_command('displaycurrent-configuration')
returnstdout.read().decode('utf-8')

wKgZoma52w6ASIrUAADDLBRjmyE656.jpg

保存配置文件

我們需要將獲取到的配置文件保存到本地。為了便于管理,通常會(huì)按照日期命名備份文件。

defsave_configuration(config,backup_dir):
ifnotos.path.exists(backup_dir):
os.makedirs(backup_dir)
filename=os.path.join(backup_dir,f'config_backup_{datetime.now().strftime("%Y%m%d%H%M%S")}.txt')
withopen(filename,'w')asfile:
file.write(config)
print(f'Configurationsavedto{filename}')

wKgaoma52x6AKu_BAAE8kWlnaSc108.jpg

完整的Python腳本

將上述步驟整合成一個(gè)完整的Python腳本:

importparamiko
importos
fromdatetimeimportdatetime

#配置信息
hostname='交換機(jī)的IP地址'
username='用戶名'
password='密碼'
port=22#默認(rèn)SSH端口
backup_dir='備份文件存儲(chǔ)目錄'

#創(chuàng)建SSH連接
defcreate_ssh_client(hostname,port,username,password):
client=paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname,port,username,password)
returnclient

#獲取交換機(jī)配置
defget_switch_configuration(client):
stdin,stdout,stderr=client.exec_command('displaycurrent-configuration')
returnstdout.read().decode('utf-8')

#保存配置文件
defsave_configuration(config,backup_dir):
ifnotos.path.exists(backup_dir):
os.makedirs(backup_dir)
filename=os.path.join(backup_dir,f'config_backup_{datetime.now().strftime("%Y%m%d%H%M%S")}.txt')
withopen(filename,'w')asfile:
file.write(config)
print(f'Configurationsavedto{filename}')

#主函數(shù)
defmain():
try:
client=create_ssh_client(hostname,port,username,password)
config=get_switch_configuration(client)
save_configuration(config,backup_dir)
exceptExceptionase:
print(f'Anerroroccurred:{e}')
finally:
client.close()

if__name__=="__main__":
main()

腳本的執(zhí)行與驗(yàn)證

修改腳本配置:在腳本中填入實(shí)際的交換機(jī)IP地址、用戶名、密碼和備份文件存儲(chǔ)目錄。

運(yùn)行腳本:在終端或命令提示符中運(yùn)行腳本:

pythonbackup_huawei_switch.py

驗(yàn)證結(jié)果:檢查備份目錄,確認(rèn)配置文件是否正確保存。

腳本的優(yōu)化與擴(kuò)展

增加日志記錄:可以添加日志功能,記錄每次備份的詳細(xì)信息。

importlogging

logging.basicConfig(filename='backup.log',level=logging.INFO,format='%(asctime)s-%(message)s')

defsave_configuration(config,backup_dir):
ifnotos.path.exists(backup_dir):
os.makedirs(backup_dir)
filename=os.path.join(backup_dir,f'config_backup_{datetime.now().strftime("%Y%m%d%H%M%S")}.txt')
withopen(filename,'w')asfile:
file.write(config)
logging.info(f'Configurationsavedto{filename}')
print(f'Configurationsavedto{filename}')

增加錯(cuò)誤處理:增強(qiáng)錯(cuò)誤處理,確保在連接失敗或命令執(zhí)行失敗時(shí)能夠適當(dāng)處理。

defmain():
try:
client=create_ssh_client(hostname,port,username,password)
config=get_switch_configuration(client)
save_configuration(config,backup_dir)
exceptparamiko.AuthenticationException:
print('Authenticationfailed,pleaseverifyyourcredentials')
exceptparamiko.SSHExceptionassshException:
print(f'UnabletoestablishSSHconnection:{sshException}')
exceptExceptionase:
print(f'Anerroroccurred:{e}')
finally:
client.close()

定時(shí)任務(wù):可以將腳本設(shè)置為定時(shí)任務(wù),定期自動(dòng)備份配置文件。

Linux上,可以使用cron定時(shí)任務(wù):

crontab-e

添加如下任務(wù),每天凌晨2點(diǎn)執(zhí)行備份:

02***/usr/bin/python3/path/to/backup_huawei_switch.py

在Windows上,可以使用任務(wù)計(jì)劃程序(Task Scheduler)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 華為
    +關(guān)注

    關(guān)注

    216

    文章

    34909

    瀏覽量

    254604
  • 交換機(jī)
    +關(guān)注

    關(guān)注

    21

    文章

    2701

    瀏覽量

    101058
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4822

    瀏覽量

    85855
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    395

    瀏覽量

    28298

原文標(biāo)題:如何使用Python腳本備份華為交換機(jī)的配置信息?

文章出處:【微信號:網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號:網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    華為路由器交換機(jī)VLAN配置實(shí)例

    華為路由器交換機(jī)VLAN配置實(shí)例[hide]華為路由器交換機(jī)VLAN配置實(shí)例使用4臺(tái)PC(pc多
    發(fā)表于 05-25 00:21

    交換機(jī)GVRP配置

    交換機(jī)GVRP配置
    發(fā)表于 12-27 16:15 ?0次下載

    交換機(jī)路由配置

    交換機(jī)路由配置
    發(fā)表于 12-27 16:31 ?0次下載

    交換機(jī)基礎(chǔ)配置

    交換機(jī)基礎(chǔ)配置
    發(fā)表于 12-27 16:50 ?0次下載

    交換機(jī)VLAN配置

    交換機(jī)VLAN配置
    發(fā)表于 12-27 16:49 ?0次下載

    交換機(jī)STP配置

    交換機(jī)STP配置
    發(fā)表于 12-27 16:46 ?0次下載

    華為交換機(jī)

    華為交換機(jī)
    發(fā)表于 03-24 14:17 ?5次下載

    光纖交換機(jī)的種類_光纖交換機(jī)配置

    本文主要介紹了光纖交換機(jī)的種類和光纖交換機(jī)配置。
    發(fā)表于 11-30 16:04 ?2416次閱讀

    交換機(jī)的6種配置模式

    我們在配置交換機(jī)的時(shí)候首先要了解的就是交換機(jī)命令模式,小編用Cisco思科交換機(jī)為例帶大家了解交換機(jī)的6種
    的頭像 發(fā)表于 09-26 15:01 ?9882次閱讀

    如何通過Python腳本批量采集華為交換機(jī)配置

    通過學(xué)習(xí)python網(wǎng)絡(luò)運(yùn)維自動(dòng)化減少重復(fù)無意義的工作量,本次實(shí)驗(yàn)雖然只是一條命令,通過display current-configuration采集設(shè)備配置,但是在有大量設(shè)備需要采集配置文件時(shí),又
    的頭像 發(fā)表于 01-09 10:32 ?5644次閱讀

    交換機(jī)最基本的配置與使用方法

    退到上一層模式用“exit”,要退到特權(quán)模式用“end”。 查看交換機(jī)配置文件信息show startup-config;當(dāng)前所有配置信息show running-config
    的頭像 發(fā)表于 05-04 17:21 ?2499次閱讀
    <b class='flag-5'>交換機(jī)</b>最基本的<b class='flag-5'>配置</b>與使用方法

    華為三層交換機(jī)配置實(shí)例

    有朋友討論華為三層交換機(jī)配置問題,今天小編也整理了下華為交換機(jī)的文章,大家來一起學(xué)習(xí)交流下!
    的頭像 發(fā)表于 06-05 11:19 ?1596次閱讀
    <b class='flag-5'>華為</b>三層<b class='flag-5'>交換機(jī)</b><b class='flag-5'>配置</b>實(shí)例

    華為交換機(jī)如何批量清除接口配置信息

    華為交換機(jī)如何批量清除接口配置信息
    的頭像 發(fā)表于 08-14 10:43 ?3423次閱讀

    使用python批量備份華為交換機(jī)配置文件

    保證PC能分別和五臺(tái)交換機(jī)通信。五臺(tái)交換機(jī)的IP地址如圖上所示。
    的頭像 發(fā)表于 01-19 09:28 ?1773次閱讀
    使用<b class='flag-5'>python</b>批量<b class='flag-5'>備份</b><b class='flag-5'>華為</b><b class='flag-5'>交換機(jī)</b><b class='flag-5'>配置</b>文件

    利用Python腳本登錄到交換機(jī)并創(chuàng)建VLAN

    本文將詳細(xì)介紹如何利用Python腳本登錄到交換機(jī)并創(chuàng)建VLAN。
    的頭像 發(fā)表于 08-12 17:59 ?808次閱讀