+ Responder ao Tópico



  1. Galera seguinte:
    Criei alguns scripts da seguinte forma:

    Script1: Source -->
    /queue simple set [/queue simple find max-limit=24000/96000] max-limit=32000/144000]

    Script2: Source -->
    /queue simple set [/queue simple find max-limit=32000/128000] max-limit=32000/192000]
    ...etc.

    Até aí tudo bem.. Tudo funciona perfeitamente.. Só q eu gostaria de colocar todos em apenas 1 script..
    Coloquei da seguinte forma:

    Script_Aumentar_Banda (em source)
    /queue simple set [/queue simple find max-limit=14000/56000] max-limit=21000/84000]
    /queue simple set [/queue simple find max-limit=16000/64000] max-limit=24000/96000]
    /queue simple set [/queue simple find max-limit=19000/76000] max-limit=28000/114000]
    /queue simple set [/queue simple find max-limit=22000/86000] max-limit=32000/129000]
    /queue simple set [/queue simple find max-limit=24000/96000] max-limit=32000/144000]
    /queue simple set [/queue simple find max-limit=32000/128000] max-limit=32000/192000]

    Porém fazendo dessa forma só funciona a 1ª linha.
    Como faz pra funcionar todos em apenas 1 script?

  2. Segue o script que eu desenvolvi.
    A variavel HoraInicio é o horário que vai começar e HoraFim que vai voltar ao normal.
    Estou tentando melhorar ainda. pois só funciona se você colocar entre 0 horas e 23 horas.
    Se você colocar 23horas de inicio e terminar as 6horas da manhã não vai funcionar, então você tem que colocar 0horas até as 6horas da manhã.
    A variável Aumento é quantas vezes vai aumentar a banda.

    :local HoraInicio 0;
    :local HoraFim 6;
    :local aumento 2;
    :local HoraAtual [:pick [/system clock get time] 0 2];
    :if ($HoraAtual >= $HoraInicio and $HoraAtual < $HoraFim) do {
    :log warning ("****************Habilitando Horario Turbinado**************************");
    :local resultado "";
    :local queue "";
    :foreach queue in [/queue simple find priority=8] do {
    :set resultado [/queue simple get $queue max-limit];
    :local pos1 [:find $resultado "k"];
    :local UpLoad [:pick $resultado 0 $pos1];
    :local Download [:pick $resultado ($pos1+2) ([:len $resultado]-1) ];
    :local banda (($UpLoad*$aumento)."K/".($Download*$aumento)."K");
    /queue simple set $queue priority=7 max-limit=$banda;
    }
    } else {
    :log warning ("****************Desabilitando Horario Turbinado**************************");
    :local resultado "";
    :local queue "";
    :foreach queue in [/queue simple find priority=7] do {
    :set resultado [/queue simple get $queue max-limit];
    :local pos1 [:find $resultado "k"];
    :local UpLoad [:pick $resultado 0 $pos1];
    :local Download [:pick $resultado ($pos1+2) ([:len $resultado]-1) ];
    :local banda (($UpLoad/$aumento)."K/".($Download/$aumento)."K");
    /queue simple set $queue priority=8 max-limit=$banda;
    }
    }
    Última edição por rodrigo_pagani; 23-01-2011 às 09:20.



  3. valeu pela ajuda...
    mas gostaria de colocar dessa maneira

    /queue simple set [/queue simple find max-limit=14000/56000] max-limit=21000/84000]
    /queue simple set [/queue simple find max-limit=16000/64000] max-limit=24000/96000]
    /queue simple set [/queue simple find max-limit=19000/76000] max-limit=28000/114000]
    /queue simple set [/queue simple find max-limit=22000/86000] max-limit=32000/129000]
    /queue simple set [/queue simple find max-limit=24000/96000] max-limit=32000/144000]
    /queue simple set [/queue simple find max-limit=32000/128000] max-limit=32000/192000]

    porém quando faço dessa forma só funciona a 1ª linha.
    Tem como fazer pra funfar todas as linhas?

    Desde ja agradeço a atençao de todos.

  4. Boa tarde.
    Para executar vários comandos em uma única linha, basta separar os mesmos por ; (ponto e vírgula), assim:
    /queue simple set [/queue simple find max-limit=14000/56000] max-limit=21000/84000];/queue simple set [/queue simple find max-limit=16000/64000] max-limit=24000/96000];/queue simple set [/queue simple find max-limit=19000/76000] max-limit=28000/114000];/queue simple set [/queue simple find max-limit=22000/86000] max-limit=32000/129000];/queue simple set [/queue simple find max-limit=24000/96000] max-limit=32000/144000];/queue simple set [/queue simple find max-limit=32000/128000] max-limit=32000/192000]

    Se preferir manter um abaixo do outro para facilitar sua via, pode utilizar a \ (barra) no final de cada linha para representar o quebrar da linha.
    /queue simple set [/queue simple find max-limit=14000/56000] max-limit=21000/84000];\
    /queue simple set [/queue simple find max-limit=16000/64000] max-limit=24000/96000];\
    /queue simple set [/queue simple find max-limit=19000/76000] max-limit=28000/114000];\
    /queue simple set [/queue simple find max-limit=22000/86000] max-limit=32000/129000];\
    /queue simple set [/queue simple find max-limit=24000/96000] max-limit=32000/144000];\
    /queue simple set [/queue simple find max-limit=32000/128000] max-limit=32000/192000]

    Espero de alguma forma ter lhe auxiliado.



  5. Funcionou perfeitamente. Valeu.






Tópicos Similares

  1. Respostas: 6
    Último Post: 25-01-2011, 21:33
  2. Script para diminuir banda dos Clientes
    Por fabmalfatti no fórum Redes
    Respostas: 4
    Último Post: 04-12-2009, 01:38
  3. MK para controlar banda do cliente para VoIP
    Por leonardojrj no fórum Redes
    Respostas: 24
    Último Post: 29-04-2009, 17:08
  4. Respostas: 5
    Último Post: 26-11-2007, 03:11
  5. REDIRECIONAR PORTAS PARA UM IP DO CLIENTE
    Por tianguapontocom no fórum Servidores de Rede
    Respostas: 7
    Último Post: 22-06-2006, 16:35

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L