ネットワークエンジニア系ブログ。健康、エンターテイメント、映画・ドラマ、本、キッズ系、FXまで!お役立ち情報を紹介!

GOISBLOG

サーバー技術

RANCIDの機能を利用したコンフィグをTFTPサーバへアップデートするツール

更新日:

RANCIDのlogin機能を利用してFTFTPサーバへconfigファイルをアップロードするツールを作成してみました。
「clogin」コマンドを利用したシェルスクリプトをそれぞれのNW機器で作成したのでメモしていきます。

まずは、事前にコンフィグをバックアップしたいホスト名または、IPアドレスを用意します。
このファイルはそれぞれのベンダー機器ごとに作成します。

#vim test.txt
test
192.168.1.1

>>>>>>エンジニアおすすめサイト
⇒IT、WEB、プログラミングのキャリアアップを目指す方はオンラインで学べる
コードキャンプがおすすめです。

無料体験レッスンも受けることができますし、専門の講師がしっかりサポートもしてくれるので安心です。
しかも、初心者からこれからキャリアアップして転職を考えている方もしっかりとサポートしてくれます。
年収もアップするために次のステップに進みましょう!

各ベンダー機器のシェルスクリプトを作成していこう

今回は「/var/rancid/tftp」配下にファイルをそれぞれ作成します。

# ll
合計 44
-rw-rw-r-- 1 rancid rancid 48 11月 12 13:35 2014 ADX.txt
-rw-rw-r-- 1 rancid rancid 64 11月 12 19:41 2014 F5_tmsh.txt
-rw-rw-r-- 1 rancid rancid 32 11月 12 13:48 2014 H3C.txt
-rw-r--r-- 1 rancid rancid 240 11月 12 19:46 2014 cisco.txt
-rw-rw-r-- 1 rancid rancid 36 11月 12 13:24 2014 netscreen.txt
-rwxrw-rw- 1 rancid rancid 268 11月 12 19:44 2014 adx.sh
-rwxrw-rw- 1 rancid rancid 718 11月 12 19:43 2014 cisco.sh
-rwxrw-rw- 1 rancid rancid 323 11月 13 12:43 2014 f5.sh
-rwxrw-rw- 1 rancid rancid 251 11月 12 19:44 2014 h3c.sh
-rwxrw-rw- 1 rancid rancid 305 11月 12 19:44 2014 netscreen.sh

上記のような感じでそれぞれの機器を登録したテキストファイルと、これから作成するシェルファイルを作成します。

各ベンダー機器のシェルスクリプトを作成する理由はそれぞれ、コマンドが違うのでってことだけです。
一つのシェルファイルでもいいのですが、今回はcronで時間別で回すことと見やすさという前提条件で作成しました。

それでは、次からそれぞれのスクリプトの作成例です。

スポンサーリンク


cisco

#!/bin/bash

# Cisco機器のコンフィグをtftpサーバへコピーする


#cisco.txtを変数ciscoへ代入
for cisco in `cat /var/rancid/tftp/cisco.txt`

do

#cisco.txtからホスト名を読み込みコンフィグを取得
        /usr/local/rancid/bin/clogin -t 300 -c "copy  running-config tftp\n1.1.1.1\n$cisco-config\n\n" $cisco
done

netscreen

#!/bin/bash

#netscreen.txtを変数netscreenへ代入
for netscreen in `cat /var/rancid/tftp/netscreen.txt`

do

#netscreen.txtからホスト名を読み込みコンフィグを取得
        /usr/local/rancid/bin/nlogin -t 300 -c "save config to tftp 1.1.1.1 $netscreen-config\n\n" $netscreen
done

F5

tftp-f5.sh
#!/bin/bash

#F5.txtを変数H3Cへ代入
for F5 in `cat /var/rancid/tftp/F5_tmsh.txt`

do

#F5.txtからホスト名を読み込みコンフィグを取得
        /usr/local/rancid/bin/clogin -t 300 -c "cd /var/local/ucs/\ntmsh\nsave sys ucs $F5-config\ny\nquit\n\ntftp 1.1.1.1\nput\n$F5-config.ucs\nquit\n" $F5
done

H3C

vim h3c.sh
#!/bin/bash

#H3C.txtを変数H3Cへ代入
for H3C in `cat /var/rancid/tftp/H3C.txt`

do

#H3c.txtからホスト名を読み込みコンフィグを取得
        /usr/local/rancid/bin/h3clogin -t 300 -c "tftp 1.1.1.1 put $H3C.cfg\n\n" $H3C
done

ADX

#!/bin/bash

#ADX.txtを変数ADXへ代入
for ADX in `cat /var/rancid/tftp/ADX.txt`

do

#ADX.txtからホスト名を読み込みコンフィグを取得
        /usr/local/rancid/bin/clogin -t 300 -c "copy running-config tftp 1.1.1.1 $ADX-config\n\n" $ADX
done

こんな感じで作成したんですが、もっとうまいスクリプト作成できる方、教えて下さい!


>>>>>> 今、IT業界でLinuxの資格は必須と言っていいほど重要になってきました。
リナックスアカデミーはITエンジニアとしての知識が学べ、卒業後の就職までサポートしてくれます。

将来のエンジニアを目指す方は無料資料があるので参考にしてください。


○エンジニアの道を目指すならこちらもおすすめです!
⇒ネットワークエンジニアへの技術手順書

⇒サーバーエンジニアへの構築手順書



この記事が気に入ったら
いいね!しよう

Twitter で



  • この記事を書いた人
  • 最新記事

ネットワークエンジニアとしてまた一児の父として仕事とブログ作成に奮闘中!
自分の身の回りにある興味、趣味をひたすらブログで書きまとめています!
私の子供も発達障害のこともあるので色々調べたことなどアップして少しはお役に立てたらと思っております!

-サーバー技術
-,

Copyright© GOISBLOG , 2017 All Rights Reserved.