НОП | Форум
Fast Uncompromising Discussions. FUDforum will get your users talking.

Начало »  » fido7.moldova.internet » Hовая версия скрипта для телекома. ;)
Hовая версия скрипта для телекома. ;) [сообщение #492239] , 11 2006 14:03
Dimmy Timchenko (fido) в настоящее время не в онлайне  Dimmy Timchenko (fido)
Сообщений: 0
Зарегистрирован: 2002
Hовая версия скрипта. Главное отличие - можно использовать для открытия
сессии, если даже она закрыта: в предыдущей версии в этом случае скрипт выдавал
ошибку.


#---------------------------------------------------------------------
#
# A script to switch between NIGHT and DAY mode in MaxDSL Dynamic-2
#
# version 2. :)
#
# usage:
# dynamic [night|day]
#
# night|day... force 256 or 64 kilobit mode

# Изменения:
#
# 1) Если не задан параметр командной строки, скрипт выбирает режим
aвтоматически
# по алгоритму:
# - с понедельника по пятницу с 07:30 до 18:55 будет выбираться скорость
64k,
# - в остальное время - скорость 256k.
#
# 2) Если сессия не активирована (LogOFF даёт ошибку), скрипт продолжает работу
#
# 3) Сообщения скрипта выводятся в формате, удобном для записи в лог
# (пример использования: perl C:\dynamic.pl >> C:\dynamic.log )


# enter your login and password here!

$login = 'YOUR_LOGIN';
$passw = 'YOUR_PASSW';


# cisco control system base URL

$cisco = 'http://192.168.169.66:8080';


$ua = '';
$res = '';
$req = '';

#----------------------------------------

sub Log
{
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);

printf ("%02d.%02d.%4d-%02d:%02d:%02d ",
$mday, ($mon+1), ($year+1900),
$hour, $min, $sec);
print ($_[0]."\n");
}

sub ErrCheck
{
if ($res =~ /^[45]/) {
Log ($res);
die "#### ABORTED ####" if ($_[0] ne "loose");
} else {
Log ("OK");
};
}

sub Query
{
$res = $ua->request($req)->as_string;
}

sub QueryStrict
{
Query;
ErrCheck("strict");
}

sub QueryLoose
{
Query;
ErrCheck("loose");
}


#----------------------------------------

Log (" ---BEGIN SWITCHING---" );

# retrieving & checking command line...

$mode = shift;

if ( ($mode ne "night") and ($mode ne "day")) {

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);

my $abs_min = $hour*60 + $min;

if (
($wday != 0) and ($wday != 6) and #not Sun, not Sat
($abs_min > (7*60+30)) and ($abs_min < (18*60+55)) #7:30..18:55
)
# then
{
$mode = "day";
}
else
{
$mode = "night";
}

Log ("Auto selected \"$mode\" mode");

}


use LWP::UserAgent;
use HTTP::Request::Common qw(POST);

$ua=LWP::UserAgent->new;
$ua->agent("Mozzila");

#------------------------------------------

Log ("Logging OUT\n");
$req = POST ($cisco.'/accountLogoff/home',
[confirmed => 'true'],
[submitButton => 'OK+' ] );

QueryLoose; #even if we were NOT logged in, continue


Log ("DELAYING...");
sleep (10);


Log ("Logging IN");

$req = POST ($cisco.'/home');
QueryStrict;

$req = POST ($cisco.'/home?confirmed=true&submitButton=OK+&username='
.$login.'&password='.$passw );
QueryStrict;


Log("Turning on RM");
$req = POST ($cisco.'/serviceStart/refresh/home?service=PrSer4&group=2');
QueryStrict;


if ($mode eq "night") {

Log ("Turning on 256k");
$req = POST ($cisco.'/serviceStart/refresh/home?service=PrWeek3&group=2');

} else {

Log ("Turning on 64k");
$req = POST ($cisco.'/serviceStart/refresh/home?service=PrWeek1&group=2');

}

QueryStrict;

Log (" ---DONE--------------");
print "\n";
 
Сообщение не прочитано
Переход к форуму:
  


Текущее время: 29 10:18:32 MSK 2024

Общее время, затраченное на создание страницы: 0.04513 секунд