LinuxForum.Fans
Тема

Как делать backup автоматически на свичах?

Автор: MorandiTM 19 сообщений 5150 просмотров
#387403

Доброго времени суток!

Господа, прошу пинать не сильно. Требуется помощь, наставления.
В сети установлены управляемые свичи D-Link DES 1228. Со временем возникла необходимость делать бэкапы.
Нужно сделать так, чтобы конфигурации этих свичей (около 500 шт.) брались с них и клались в ... Как это сделать?
Да, знаю, что нужно написать скрипт. Как его написать? С языками программирования не знаком.
Может у кого-то есть готовые примеры? Куда класть этот скрипт? Как его кушать?

Ребят, выручайте!

#387417
Macumazan написал:
Вот тут для начала. Хоть для HP, но идея одинакова.

А в чем должен быть этот скрипт? Текстовый документ?
Куда его класть?

#387419
"MorandiTM" написал:
А в чем должен быть этот скрипт?

В файле.

"MorandiTM" написал:
Текстовый документ?

Т.к. скрипт - это последовательность команд, то файл текстовый.

"MorandiTM" написал:
Куда его класть?

Куда угодно, затем сделайте файл исполняемым и запустите. Если нужно, что бы скрипт выполнятся по расписанию, то читайте про cron.

Перед запуском скрипта удостоверьтесь, что в системе установлены все используемые в скрипте команды (утилиты).

#387420
"MorandiTM" написал:
А в чем должен быть этот скрипт? Текстовый документ?
Куда его класть?

IMHO, конечно, но, судя по вашим вопросам, проще (а в конечном итоге и дешевле) заплатить «специально обученному человеку».

#387421
Lupo Alberto написал:
[quote="MorandiTM"]А в чем должен быть этот скрипт? Текстовый документ?
Куда его класть?

IMHO, конечно, но, судя по вашим вопросам, проще (а в конечном итоге и дешевле) заплатить «специально обученному человеку».[/quote]

Парни, ну, я же попросил не пинать меня...
Да и в вопросе я написал, что не в курсе всего этого, поэтому и обратился к Вам за помощью.

#387450

К свичам по telnet же коннектитись?

Алгоритм

1. Формируем в текстовый файл список IP свичей.
2. Загоняем его в цикл и снимаем посторчно IP
3. Коннектимся по telnet и делаем бекап конфига
4. На свичах наверное есть sftp. Через него кидаем в нужное место уже к вам в /tmp.
5. Как все IP отработают. Бекапим все и маркируем по дате.

Как то так.

Macumazan написал:
Вот тут для начала. Хоть для HP, но идея одинакова.

Смотри что посоветовали, но тут опять же придется вкурить тонкости.

#387456

Давлю к XliN

Задача разбивается на 2 подзадачи:
1. Вытащить через командную строку инфу по одной железяке , имеющией свой IP
2. Произвести обход всех свичей.

Наверняка IP железяк хранятся в какой-нибудь БД, если нет - то настоятельно рекомендую использовать, потом легче станет. Далее пишется скрипт на Perl (тк он работает с БД) по обходу железяк.

(Данное решение было проверено на Cisco)

#387578

Парни, спасибо, что отозвались!

Вот что у меня получилось сделать.
Первый файлик называется "do-dlink" и содержит в себе вот что:
[console]#!/bin/bash

(
echo open $1
sleep 1
echo -e "username"
sleep 2
echo -e "password"
sleep 4
echo "show config current_config"
sleep 1
echo "a"
sleep 5
echo "logout"
sleep 1
) | telnet[/console]

Второй файл называется "do-switch-list" и несет в себе вот что:
[console]#copy flash

while read line
do
echo "$line"
./do-dlink $line
done < ".h12list"
[/console]

Третий - "do" - вот каков:
[console]./do-switch-list > cccc[/console]

Ну, наконец четвертый. Он содержит в себе список адресов свичей в сети, называется "h12list" и выглядит примерно так:
[console]10.1.3.17 dlink-h2-2-1
10.1.3.18 dlink-h2-1-2
и так далее...
[/console]

Вроде как все должно быть правильно. В MC запускаю файл "do" и вот что я вижу:
[console]moranditm@ln2:/home/switch/dlink$ ./do[/console]

То есть ничего не происходит. Файл "cccc" остается пустым, в него ничего не складывается. Почему так?
.............
Спустя час, сделалось вот так:
[console]moranditm@ln2:/home/switch/dlink$ ./do
Connection closed by foreign host.
Connection closed by foreign host.. [/console]

#387626

./ do-dlink 10.1.3.17 возвращает конфиг свича?

#387715

Все свичи из списка доступны и на них можно войти телнетом.
Т.е. - да, возвращает, если я правильно понял Ваш вопрос.

#387744

тогда я подозреваю, надо почистить файл со списком свичей. оставить только айпи

#387757
dyasny написал:
тогда я подозреваю, надо почистить файл со списком свичей. оставить только айпи

Сделал так: файл со списком свичей и их наименований почистил, оставив в нем только адреса. Получилось так:
[console]10.1.3.17
10.1.3.18
10.1.3.12
10.1.3.2
10.1.3.9
10.1.3.7
10.1.3.5
10.1.3.11
10.1.3.16
10.1.3.4[/console]

Запускаю "do", а там ничего не изменилось.
[console]moranditm@ln2:/home/switch/dlink$ ./do
Connection closed by foreign host.
[/console]

Скажите, что еще поковырять? Где еще что посмотреть?

#387806

Чудо произошло! Бэкап стал писаться. Писаться - пишется, но он по-прежнему выдает, что соединение закрыто удаленным хостом.
Черт с ним, подумал я, лишь бы писал бэкапы. То, что он набэкапил складывается в файлик "сссс".
Вот то, что он бэкапит:

Показать
telnet 10.1.3.17
Trying 10.1.3.17...
Connected to 10.1.3.17.
Escape character is '^]'.

DES-3526 Fast Ethernet Switch Command Line Interface

Firmware: Build 5.01.B60
Copyright(C) 2008 D-Link Corporation. All rights reserved.
username:admin
password:***********

DES-3526:admin#sho config current_config
Command: show config current_config

#-------------------------------------------------------------------
# DES-3526 Configuration
#
# Firmware: Build 5.01.B60
# Copyright(C) 2008 D-Link Corporation. All rights reserved.
#-------------------------------------------------------------------


# BASIC

config serial_port baud_rate 9600 auto_logout 10_minutes
enable telnet 23
enable web 80

# ACCOUNT LIST

create account admin admin
PASSWORD
PASSWORD


# PASSWORD ENCRYPTION

disable password encryption
config terminal_line default

# BNR

config command_prompt default

# STORM

config traffic control_trap none
config traffic control 1-5 broadcast disable multicast disable unicast disable action drop threshold 128000

и так далее...

Созрел другой вопрос, парни! Как сделать так, чтобы по окончанию бэкапа списка из "h12list", он сам без моего участия автоматически начинал бэкапить h3list, h4list, h5list и так далее? Как-то чтобы цикл получился, наверное, надо... т.е. отбэкапив свичи из одного списка, он бы переходил на свичи в другом списке.

#387858

сбросить все списки в одну директорию, и в ней завернуть все исполнение в for list in `ls -A`; do ... done
и в do-switch-list скармливать параметром $list

#387883
dyasny написал:
сбросить все списки в одну директорию, и в ней завернуть все исполнение в for list in `ls -A`; do ... done
и в do-switch-list скармливать параметром $list

Пожалуйста, дайте больше подробностей.
У меня с кодом полная опа!

#387892

допустим в файлaх switch001 - switchXYZ лежат списки айпи адресов свичей.

у нас есть скрипт do-dlink который вытаскивает бекап из одного свича. и скрипт do-switch-list (надо бы поменять название) который проходит по одному файлу с айпишниками и бекапит их по очереди.
все что остается это повторить процесс для каждого из файлов с айпишниками

[console]
switchlist=$1
while read line
do
echo "$line"
./do-dlink $line
done < "$switchlist"
[/console]

и после этого

[console]for switchlist in `ls -A switch*`; do
./do-switch-list $switchlist
done
[/console]

#387952

Файл "do" и "do-dlink" остались прежними.
Изменения следующие: "скрипт do-switch-list" таков:
[console]do-switchlist-list=$1
while read line
do
echo "$line"
./do-dlink $line
done < "$switchlist"
#
for switchlist in `ls -A switch12`; do
./do-switch-list $switchlist
done
#
for switchlist in `ls -A switch3`; do
./do-switch-list $switchlist
done
#
for switchlist in `ls -A switch4`; do
./do-switch-list $switchlist
done
#
for switchlist in `ls -A switch6`; do
./do-switch-list $switchlist
done
#
for switchlist in `ls -A switch7`; do
./do-switch-list $switchlist
done
#
for switchlist in `ls -A switch8`; do
./do-switch-list $switchlist
done
#
for switchlist in `ls -A switch9`; do
./do-switch-list $switchlist
done
#[/console]

Файлы со списком свичей переименованы в "switch12", "switch3" и так далее...
Переименовал и "do-switch-list", опять же, если я Вас правильно понял. Оно ругалось, что директории не было видно.
Ткните, пожалуйста! И спасибо за Ваше терпение!
И посоветуйте, пожалуйста, какую-то книгу по башу. :[

#387976

www.tldp.org/LDP/abs/html/


я не понял зачем сыр-бор с повтором свич-файлов. я ведь написал - надо просто пройтись по списку файлов с айпишниками, в во время каждого из проходов, проходить по самим айпишникам и доставать бекапы

Войдите или зарегистрируйтесь, чтобы ответить.