Перейти к содержимому

Фотография

Telnet сеанс из пактного файлаПроблема уже при вводе пароля...


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1
_VX

_VX
  • Гость
  • 22 сообщений
Доброе время суток!
Есть задача: пинговать IP провайдера до тех пор, пока пингуется, а как только ответ не пришел, заставить модем ребутнуться. В принципе, в 2 офисах вся процедура восстановления соединения ("А-Админы, интернета нету!!") сводится к передергиванию тумблера модема. Вот если бы шлюз (RedHat), либо моя рабочаа станция (Win) программно передергивали модем, пропала бы еще одна рутинная процедура (насколько я знаю, не только у меня).

На винде попробовал:
Фрагмент *.BAT файла:
Telnet IP.AD.DR.ESS 23
SLEEP 2					   ::сторонняя прога, создает паузу
ECHO password
На приглашении Password все и останавливается.

Слил Telnet Scripting Tool (_http://ay.home.ml.org/)
Справка:

Usage Syntax:

tst10.exe /r:script.txt [options]

/r:script.txt run script.txt
[options] any of these:

/o:output.txt send session output to output.txt
/m run script in minimized window

Usage Example:

tst10.exe /r:script.txt /o:output.txt /m
...

В командную строку "копипастю" "tst10.exe /r:script.txt", при этом и tst10.exe, и script.txt лежат уже в %windir%\System32. Полный путь к скрипт-ыайлу не помогет. Стартует как без параметров, те. кажет упомянутую справку и фсё!

Как быть?

Завтра буду ковыряться в *nix, есть ли у кого какие идеи или опыт решения в одной из систем?
Заранее спасибо!
  • 0

#2
_VX

_VX
  • Гость
  • 22 сообщений
Решение для Win систем, используя пакетные файлы: НЕ СУЩЕСТВУЕТ (как нашлось на форуме ruboard)
Решение для nix ситем, используя shell-скрипт:
#!/bin/bash
#This Ping Proveder's IP and in Case of Error Reboot Modem, nah...

pip=212.19.149.54			 #Provider's IP
mip=123.123.123.123		#Modem's IP
mport=23						 #Telnet Port

Telnet()
{
	(
		sleep 2
		echo "password"	 #Logg In
		sleep 2
		echo "24"	   #Say "System Maintenance.."
		echo "4"		 #Say "Diagnostic.."
		echo "21"	   #Say "Reboot System.. nah"
		echo "99"	   #Say "Exit"
	) | telnet $mip $mport
}

ping $pip -c 4 > /dev/null
if [$? -ne 0]		   #Call Telnet() Function if there is Any Errors with Link
	then Telnet
fi
Такой скрипт проводит телнет-сессию, перезагружая модем в случае. когда IP провайдера не пингуется. Не очень надежное решение, правда. Можно, например, пинговать глобальные сервера, но еще красивее будет перезагрузка в случае пустого WAN адреса модема. Работаю дальше...

Посмотреть WAN адрес можно из телнет-сессии, пытаюсь делать перенаправление в файл, а там посмотреть нужное. Посмотрим, что получится...

Мож у кого еще какие идеи?
  • 0


Количество пользователей, читающих эту тему: 1

пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.