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

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
kenny85
проходил мимо

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

Непрочитанное сообщение kenny85 » 2008-11-21 15:18:09

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

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

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

Непрочитанное сообщение zg » 2008-11-21 15:40:05

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

kenny85
проходил мимо

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

Непрочитанное сообщение kenny85 » 2008-11-21 15:46:10

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

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

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

Непрочитанное сообщение zg » 2008-11-21 15:54:06

kenny85 писал(а):Это можно не спорю!!
помимо морды есть ещё телнет, и видимо есть тулза для экспорта/ипорта конфига, ведь както же этот файл формируется

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

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

Непрочитанное сообщение hizel » 2008-11-21 15:55:50

если 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
Поддерживает по одному я заливаю без проблем)))))

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

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

Непрочитанное сообщение zg » 2008-11-21 16:01:02

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

kenny
мл. сержант
Сообщения: 78
Зарегистрирован: 2008-11-21 15:13:53
Откуда: Москва
Контактная информация:

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

Непрочитанное сообщение kenny » 2008-11-21 17:41:35

Я просто думал, может кто нибудь уже что то подобное писал, и поделился бы наработками :oops:

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

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

Непрочитанное сообщение zg » 2008-11-21 19:21:07

:Search: чёт не видать :smile:

Аватара пользователя
BigBrother
сержант
Сообщения: 150
Зарегистрирован: 2007-07-27 17:05:55
Откуда: Украина
Контактная информация:

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

Непрочитанное сообщение BigBrother » 2008-11-26 15:15:21

День добрый, помогите дописать скрипт. Задача такая:
На сервере делаются бекапы с помощью скрипта, который вызывается кроном.
Надо сделать, что бы каждый день делались бекапы, но не накапливались. То есть, в течение недели было сделано 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?

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

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

Непрочитанное сообщение zg » 2008-11-26 16:09:52

я тут где-то скрип выкладывал, там было описано решение, гле-то совсем недавно

Аватара пользователя
BigBrother
сержант
Сообщения: 150
Зарегистрирован: 2007-07-27 17:05:55
Откуда: Украина
Контактная информация:

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

Непрочитанное сообщение BigBrother » 2008-11-26 17:18:14

zg писал(а):я тут где-то скрип выкладывал, там было описано решение, гле-то совсем недавно
Рылся, Рылся и не нарыл :(

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

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

Непрочитанное сообщение zg » 2008-11-26 17:52:36

гм.. странно, а выкладывал совсем недавно, ладна ещё раз выложу

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

#!/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:

kenny
мл. сержант
Сообщения: 78
Зарегистрирован: 2008-11-21 15:13:53
Откуда: Москва
Контактная информация:

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

Непрочитанное сообщение kenny » 2008-11-27 10:33:15

По своему вопросу придумал решение, все оказалось до боли просто :smile: аж стыдно

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

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

Непрочитанное сообщение zg » 2008-11-27 10:50:45

выложи

Аватара пользователя
BigBrother
сержант
Сообщения: 150
Зарегистрирован: 2007-07-27 17:05:55
Откуда: Украина
Контактная информация:

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

Непрочитанное сообщение BigBrother » 2008-11-27 11:13:14

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:
Блин, вчера все работало. После того, как заново переписал скрипт (случайно убил работающий), скрипт перестал работать как надо :( То сам себя убивает, то все файлы убивает (вне зависимости от даты, кроме папок), то вообще ничего не делает...

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

kenny
мл. сержант
Сообщения: 78
Зарегистрирован: 2008-11-21 15:13:53
Откуда: Москва
Контактная информация:

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

Непрочитанное сообщение kenny » 2008-11-27 19:12:25

Думал думал, вспоминал все что знаю перепробовал практически все........потом как пыльным мешком, озарило...........
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:

6eremot
рядовой
Сообщения: 13
Зарегистрирован: 2007-11-08 18:20:57

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

Непрочитанное сообщение 6eremot » 2008-11-30 4:57:14

Так ведь свичей 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

kenny
мл. сержант
Сообщения: 78
Зарегистрирован: 2008-11-21 15:13:53
Откуда: Москва
Контактная информация:

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

Непрочитанное сообщение kenny » 2008-11-30 14:18:49

Спасибо за совет обязательно попробую:-)

kenny
мл. сержант
Сообщения: 78
Зарегистрирован: 2008-11-21 15:13:53
Откуда: Москва
Контактная информация:

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

Непрочитанное сообщение kenny » 2008-12-02 11:34:07

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
вот вопрос какие пакеты нужно установить?

6eremot
рядовой
Сообщения: 13
Зарегистрирован: 2007-11-08 18:20:57

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

Непрочитанное сообщение 6eremot » 2008-12-02 13:38:19

У меня вот это стоит

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

 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
последняя для перла

kenny
мл. сержант
Сообщения: 78
Зарегистрирован: 2008-11-21 15:13:53
Откуда: Москва
Контактная информация:

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

Непрочитанное сообщение kenny » 2008-12-03 11:31:18

Огромное спасибо всем, намного лучше люди сидят чем на форуме д линка, буду разгребаться и разбираться дальше, некие траблы есть :(

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

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

Непрочитанное сообщение schizoid » 2008-12-04 10:41:24

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

prostogans
проходил мимо
Сообщения: 2
Зарегистрирован: 2008-12-07 23:32:42

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

Непрочитанное сообщение prostogans » 2008-12-09 16:16:41

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

kenny
мл. сержант
Сообщения: 78
Зарегистрирован: 2008-11-21 15:13:53
Откуда: Москва
Контактная информация:

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

Непрочитанное сообщение kenny » 2008-12-16 12:14:16

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