![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
Suic2 |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 23.5.2012 Репутация: нет Всего: нет |
Всем привет, есть скрипт, которые подключается к коммутаторам и заливает туда некоторые правила.
но при если пытаюсь запустить его из апача (require "/tmp/telnet.pl" или тупо дописать его же в скрипт админки биллинга), он ругается всякими ошибками вот что пишет в httpd-error.log если подключать через require:
а вот что, если вписать код в сам скрипт:
в чем может быть проблема? как исправить? Это сообщение отредактировал(а) Suic2 - 8.10.2012, 12:00 |
||||||
|
|||||||
alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 2 Всего: 14 |
||||
|
||||
Suic2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 23.5.2012 Репутация: нет Всего: нет |
Там естественно $telnet_h->waitfor("/$pr/");
![]() $pr ни откуда не берётся, пустая строка... Насколько я понял, там должно быть приветствие командной строки, но в каком виде так и не понял... когда подключаюсь по телнету мне коммутатор выдаёт DES-1228/ME:5# или DES-3028:5# гдето в дебрях интернета видел пример, там пустую $pr='' передают и всё работает:( и если запускать не через апач то тоже всё отлично Это сообщение отредактировал(а) Suic2 - 8.10.2012, 12:34 |
|||
|
||||
alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 2 Всего: 14 |
Видимо недождалось вашего пустого $pr и вывалилось по таймауту. Запустите скрипт вручную, без апача. Посмотрите на каком именно свиче валится скрипт, что у вас еще есть кроме 1228 и 3028.
У меня D-Link-и нормально работают с методами open, login, cmd, вот на цисках да, извращался с waitfor Это сообщение отредактировал(а) alezzz - 8.10.2012, 12:44 |
|||
|
||||
Suic2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 23.5.2012 Репутация: нет Всего: нет |
так если вручную запускаю он корректно завершается, залив всё что нужно на все коммутаторы. а можно пример с login и cmd? у меня уже после login вылетало
кроме 1228 и 3028 ничего больше нет Это сообщение отредактировал(а) Suic2 - 8.10.2012, 12:45 |
|||
|
||||
alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 2 Всего: 14 |
По названию переменных должно быть понятно что там, есдинственное $params{'default_prompt'} = '/DES-[\d-]+:.#/' Добавлено через 3 минуты и 5 секунд под это наверно стоит переписать регулярку $params{'default_prompt'} = '/DES-[^:]+:.#/' как-то так |
|||
|
||||
Suic2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 23.5.2012 Репутация: нет Всего: нет |
вы волшебник! оно работает, спасибо большое, с cmd и login всё намного проще и компактнее
проверял только на 1228 но думаю и с 3028 проблем не возникнет, в худшем случае регулярное выражение поменять |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |