Страница 1 из 2

Подскажите решение!

Добавлено: 2008-11-21 15:18:09
kenny85
Такая проблема есть сеть, состоящая из комутаторов D-link поставили задачу, слить с них все конфиги на tftp сервер, каким образом, вот в чем вопрос???
Надеюсь кто нибудь делал что либо подобное :oops: :oops:
P.S: Коммутаторы des 3526

Re: Подскажите решение!

Добавлено: 2008-11-21 15:40:05
zg
у меня модем длинковский, дык там просто заходишь через вебморду и жмёшь кнопка сохранить, и конфиг сохраняется как обычный текстовый файл

Re: Подскажите решение!

Добавлено: 2008-11-21 15:46:10
kenny85
zg писал(а):у меня модем длинковский, дык там просто заходишь через вебморду и жмёшь кнопка сохранить, и конфиг сохраняется как обычный текстовый файл
Это можно не спорю!!
Но есть два момента:
1) Веб морды отключены
2) Их коммутаторов больше 1000

Re: Подскажите решение!

Добавлено: 2008-11-21 15:54:06
zg
kenny85 писал(а):Это можно не спорю!!
помимо морды есть ещё телнет, и видимо есть тулза для экспорта/ипорта конфига, ведь както же этот файл формируется

Re: Подскажите решение!

Добавлено: 2008-11-21 15:55:50
hizel
если dlink поддерживает tftp то в freebsd и linux
ставим tftp или он уже стоит,
внедряем в inetd.conf
в случае freebsd

Код: Выделить всё

tftp    dgram   udp     wait    root    /usr/libexec/tftpd      tftpd -l -s /var/tftpboot
создаем диру /var/tftpboot
и указываем длинку адрес сервака для слива конфигурации

Re: Подскажите решение!

Добавлено: 2008-11-21 15:58:55
Гость
zg писал(а):
kenny85 писал(а):Это можно не спорю!!
помимо морды есть ещё телнет, и видимо есть тулза для экспорта/ипорта конфига, ведь както же этот файл формируется
Заход идет действительно телнетом, далее логин пароль, и ввод команды, upl cfg_toTFTP ХХ.ХХ.ХХ.ХХ filename, но вот как это сделать в таком массовом количестве я ума не могу приложить

to hizel
Поддерживает по одному я заливаю без проблем)))))

Re: Подскажите решение!

Добавлено: 2008-11-21 16:01:02
zg
Гость писал(а):но вот как это сделать в таком массовом количестве я ума не могу приложить
скрипт сделает всю грязную работу. Только напиши :smile: Мы тут проверяли - авторизация через телнет спокойно делается и на шелле. Не вижу трудностей.

Re: Подскажите решение!

Добавлено: 2008-11-21 17:41:35
kenny
Я просто думал, может кто нибудь уже что то подобное писал, и поделился бы наработками :oops:

Re: Подскажите решение!

Добавлено: 2008-11-21 19:21:07
zg
:Search: чёт не видать :smile:

Re: Подскажите решение!

Добавлено: 2008-11-26 15:15:21
BigBrother
День добрый, помогите дописать скрипт. Задача такая:
На сервере делаются бекапы с помощью скрипта, который вызывается кроном.
Надо сделать, что бы каждый день делались бекапы, но не накапливались. То есть, в течение недели было сделано 7 бекапов, а когда начинается новая неделя, что бы эти бекапи перезаписывались поверх с новой датой, то есть, сейчас сделано 7+7+7=21 файлов с бекапами за три недели, а надо 7+7+7=7 файлов бекапов за три недели.
Вот что уже есть:

Код: Выделить всё

#!/bin/sh
path_mysql="/home/backup/mysql_backup_all_databases_$(date +%d%m%y).sql"
/usr/bin/mysqldump -u root --password=mypass --all-databases > ${path_mysql}
cd /home/backup/
/bin/tar -cvvf name1.name1.$(date +%d%m%y).tgz /home/name1/
/bin/tar -cvvf name.name.$(date +%d%m%y).tgz /home/name/
cd /home/
/bin/tar -cvvf /home/name_backup.$(date +%d%m%y).tgz /home/backup/*
Но это для варианта 7+7+7=21. Что дописатьь, что бы сделать для 7+7+7=7
Или это надо делать через crontab?

Re: Подскажите решение!

Добавлено: 2008-11-26 16:09:52
zg
я тут где-то скрип выкладывал, там было описано решение, гле-то совсем недавно

Re: Подскажите решение!

Добавлено: 2008-11-26 17:18:14
BigBrother
zg писал(а):я тут где-то скрип выкладывал, там было описано решение, гле-то совсем недавно
Рылся, Рылся и не нарыл :(

Re: Подскажите решение!

Добавлено: 2008-11-26 17:52:36
zg
гм.. странно, а выкладывал совсем недавно, ладна ещё раз выложу

Код: Выделить всё

#!/bin/sh
cd /usr/local/mysql/data
d=`/bin/date "+%Y-%m-%d"`
/usr/bin/tar -cjf /path/to/db.$d.tar.bz2 dbname

for i in `/bin/ls -1 /path/to/db.** | /usr/bin/sort -r | /usr/bin/awk '{if (++i>4)print $0}'`
do
        echo $i
        rm $i
done
примерно так :smile:

Re: Подскажите решение!

Добавлено: 2008-11-27 10:33:15
kenny
По своему вопросу придумал решение, все оказалось до боли просто :smile: аж стыдно

Re: Подскажите решение!

Добавлено: 2008-11-27 10:50:45
zg
выложи

Re: Подскажите решение!

Добавлено: 2008-11-27 11:13:14
BigBrother
zg писал(а):гм.. странно, а выкладывал совсем недавно, ладна ещё раз выложу

Код: Выделить всё

#!/bin/sh
cd /usr/local/mysql/data
d=`/bin/date "+%Y-%m-%d"`
/usr/bin/tar -cjf /path/to/db.$d.tar.bz2 dbname

for i in `/bin/ls -1 /path/to/db.** | /usr/bin/sort -r | /usr/bin/awk '{if (++i>4)print $0}'`
do
        echo $i
        rm $i
done
примерно так :smile:
Блин, вчера все работало. После того, как заново переписал скрипт (случайно убил работающий), скрипт перестал работать как надо :( То сам себя убивает, то все файлы убивает (вне зависимости от даты, кроме папок), то вообще ничего не делает...

А есть способ сделать эту задачу через КРОН? Например, указать крону, что бы он архивы писал поверх старых (заменял их)??

Re: Подскажите решение!

Добавлено: 2008-11-27 19:12:25
kenny
Думал думал, вспоминал все что знаю перепробовал практически все........потом как пыльным мешком, озарило...........
expect замечательная вещь, ой какая замечательная, и в принципе ребенок разберется......
установил из портов без проблем.....

Код: Выделить всё

  # cd /usr/ports/lang/expect
            # make install clean
            # rehash
В результате expect скачал и установил все что нужно.
далее создал файлик
ee telnet.exp
ну и вписал все что вспомнил :oops:

Код: Выделить всё

#!/usr/local/bin/expect
spawn telnet 10.xx.xx.xx # Ip свича
expect "Username:"
send "user\n"
expect "Password:"
send "pass\n"
send "enable admin\r"
expect "Password:"
send "pass2\r"
sleep 10
send "show sw\r"
expect "DES-3550:admin#"
sleep 3
send "upl cfg_toTFTP 10.xxx.xxx.xxx buckUP"#10.xxx.xxx.xxx -Ip Tftp Сервера,buckUP - название файла который будет там сохранен.
expect eof
sleep - време ожидания в секундах, так как D-link туповаты лучше немного подождать.
expect - какую строчку ждем на экране
send - что будем вводить

P.S: Сильно не пинайте за корявость скрипта, любые пожелания и порицания с удовольствием выслушаю ;-) :smile:

Re: Подскажите решение!

Добавлено: 2008-11-30 4:57:14
6eremot
Так ведь свичей 1000? Или я ошибаюсь? Неужели после каждого выполнения будешь править скрипт чтобы заменить ip свича?
У меня кучка DES-3028, ну конечно не 1000, раз так в 10 меньше и я сделал так

Код: Выделить всё

#!/bin/sh
dlink=$1
snmpset -v2c -c private ${dlink} 1.3.6.1.4.1.171.12.1.2.1.1.3.3 a 10.10.0.10
snmpset -v2c -c private ${dlink} 1.3.6.1.4.1.171.12.1.2.1.1.4.3 i 2
snmpset -v2c -c private ${dlink} 1.3.6.1.4.1.171.12.1.2.1.1.5.3 s DES3028.cfg
snmpset -v2c -c private ${dlink} 1.3.6.1.4.1.171.12.1.2.1.1.7.3 i 2
snmpset -v2c -c private ${dlink} 1.3.6.1.4.1.171.12.1.2.1.1.8.3 i 3
скрипт запускаю ./upload_cfg.sh 10.10.0.109 где 10.10.0.109 адрес коммутатора
На сервере имя-конфига сохраняется как 10.10.0.109-DES3028.cfg.
Можно конечно автоматизировать, но пока нет такой нужды.

http://www.dlink.ru/technical/faq_hub_switch_104.php

Сразу не увидел что 3526, вот для них http://www.dlink.ru/technical/faq_hub_switch_102.php

Re: Подскажите решение!

Добавлено: 2008-11-30 14:18:49
kenny
Спасибо за совет обязательно попробую:-)

Re: Подскажите решение!

Добавлено: 2008-12-02 11:34:07
kenny
6eremot писал(а):Так ведь свичей 1000? Или я ошибаюсь? Неужели после каждого выполнения будешь править скрипт чтобы заменить ip свича?
У меня кучка DES-3028, ну конечно не 1000, раз так в 10 меньше и я сделал так

Код: Выделить всё

#!/bin/sh
dlink=$1
snmpset -v2c -c private ${dlink} 1.3.6.1.4.1.171.12.1.2.1.1.3.3 a 10.10.0.10
snmpset -v2c -c private ${dlink} 1.3.6.1.4.1.171.12.1.2.1.1.4.3 i 2
snmpset -v2c -c private ${dlink} 1.3.6.1.4.1.171.12.1.2.1.1.5.3 s DES3028.cfg
snmpset -v2c -c private ${dlink} 1.3.6.1.4.1.171.12.1.2.1.1.7.3 i 2
snmpset -v2c -c private ${dlink} 1.3.6.1.4.1.171.12.1.2.1.1.8.3 i 3
скрипт запускаю ./upload_cfg.sh 10.10.0.109 где 10.10.0.109 адрес коммутатора
На сервере имя-конфига сохраняется как 10.10.0.109-DES3028.cfg.
Можно конечно автоматизировать, но пока нет такой нужды.

http://www.dlink.ru/technical/faq_hub_switch_104.php

Сразу не увидел что 3526, вот для них http://www.dlink.ru/technical/faq_hub_switch_102.php
вот вопрос какие пакеты нужно установить?

Re: Подскажите решение!

Добавлено: 2008-12-02 13:38:19
6eremot
У меня вот это стоит

Код: Выделить всё

 pkg_info | grep SNMP
net-snmp-5.4.1.2    An extendable SNMP implementation
p5-SNMP_Session-1.11 A perl5 module providing rudimentary access to SNMPv1 and v
последняя для перла

Re: Подскажите решение!

Добавлено: 2008-12-03 11:31:18
kenny
Огромное спасибо всем, намного лучше люди сидят чем на форуме д линка, буду разгребаться и разбираться дальше, некие траблы есть :(

Re: Подскажите решение!

Добавлено: 2008-12-04 10:41:24
schizoid
6eremot писал(а):Так ведь свичей 1000? Или я ошибаюсь? Неужели после каждого выполнения будешь править скрипт чтобы заменить ip свича?
У меня кучка DES-3028, ну конечно не 1000, раз так в 10 меньше и я сделал так
ну так есть еще такое понятие как циклы....

Re: Подскажите решение!

Добавлено: 2008-12-09 16:16:41
prostogans
пишешь скрипт, который телнетом обходит все железки и сливает конфиги куда тебе нужно

Re: Подскажите решение!

Добавлено: 2008-12-16 12:14:16
kenny
prostogans писал(а):пишешь скрипт, который телнетом обходит все железки и сливает конфиги куда тебе нужно
А по вашему речь про что идет???? или сообщения данные выше мы не видим?