manual de linguagem de script mikrotik

22
Manual de linguagem de script Este manual fornece introdução ao RouterOS embutidos poderosa linguagem de script. Host de script fornece uma maneira de automatizar algumas tarefas de manutenção roteador por meio da execução de scripts definidos pelo usuário delimitadas a alguma ocorrência de eventos. Scripts podem ser armazenados em repositório de scripts ou pode ser escrito diretamente para consolar . Os eventos usados para acionar a execução de scripts incluem, mas não estão limitados ao Sistema Scheduler , a ferramenta de monitoramento de tráfego , e as Netwatch Ferramenta eventos gerados. Estrutura de linha RouterOS roteiro é dividido em número de linhas de comando. As linhas de comando são executados um por um até o final do script ou até ocorrer erro de execução. Linha de comando Consola RouterOS utiliza seguinte sintaxe de comando: [prefix] [path] command [uparam] [param=[value]] .. [param=[value]] [Prefixo] - ":" ou caractere "/" que indica se o comando é ICE ou caminho. Pode ou pode não ser necessária. [Caminho] - caminho relativo ao nível de menu desejado. Pode ou pode não ser necessária. comando - um dos comandos disponíveis no nível de menu especificado. [Uparam] - parâmetro sem nome, deve ser especificado se o comando exige. [Params] - seqüência de parâmetros nomeados, seguido pelos respectivos valores O final da linha de comando é representado pelo símbolo ";" ou de nova linha. Às vezes "," ou de nova linha é não necessário para acabar com a linha de comando. Comando único dentro (), [] or {} não requer qualquer sinal de fim de comando. Fim de comando é determinada pelo conteúdo do roteiro inteiro : If (true) = {fazer: colocar "lala"}

Upload: carlos

Post on 03-Oct-2015

658 views

Category:

Documents


77 download

DESCRIPTION

Scritp para RouterOS

TRANSCRIPT

Manual de linguagem de scriptEste manual fornece introduo ao RouterOS embutidos poderosa linguagem de script.Host de script fornece uma maneira de automatizar algumas tarefas de manuteno roteador por meio da execuo de scripts definidos pelo usurio delimitadas a alguma ocorrncia de eventos.Scripts podem ser armazenados emrepositrio de scriptsou pode ser escrito diretamente paraconsolar.Os eventos usados para acionar a execuo de scripts incluem, mas no esto limitados aoSistema Scheduler, aferramenta de monitoramento de trfego, e asNetwatch Ferramentaeventos gerados.

Estrutura de linhaRouterOS roteiro dividido em nmero de linhas de comando.As linhas de comando so executados um por um at o final do script ou at ocorrer erro de execuo.

Linha de comandoConsola RouterOS utiliza seguinte sintaxe de comando:[prefix] [path] command [uparam] [param=[value]] .. [param=[value]] [Prefixo] - ":" ou caractere "/" que indica se o comando ICEou caminho.Pode ou pode no ser necessria. [Caminho] - caminho relativo ao nvel de menu desejado.Pode ou pode no ser necessria. comando - um doscomandosdisponveis no nvel de menu especificado. [Uparam] - parmetro sem nome, deve ser especificado se o comando exige. [Params] - seqncia de parmetros nomeados, seguido pelos respectivos valoresO final da linha de comando representado pelo smbolo";"oude nova linha.s vezes","oude nova linha no necessrio para acabar com a linha de comando.Comando nico dentro(), [] or {}no requer qualquer sinal de fim de comando.Fim de comando determinada pelo contedo do roteiro inteiro : If (true) = {fazer: colocar "lala"}Cada linha de comando dentro de outra linha de comando inicia e termina com colchetes "[]"(concatenao de comando). : Colocar [/ ip route get [encontrar porta de entrada = 1.1.1.1]]; Observe que o cdigo acima contm trs linhas de comando: : Colocar / Ip route chegar encontrar porta de entrada = 1.1.1.1Linha de comando pode ser construdo a partir de mais de uma linha fsica, seguindoas regras juntando linha.Linha FsicaA linha fsica uma seqncia de caracteres terminada por um (EOL) seqncia de fim-de-linha.Qualquer uma das sequncias de terminao de linha padro da plataforma pode ser usado: unix- LF ASCII; janelas- ASCII CR LF; mac- ASCII CR;Convenes padro C para caracteres de nova linha pode ser usada (o personagem n \).ComentriosUm comentrio comea com um caracter de hash (#) e termina no fim da linha fsica.Espaos em branco ou quaisquer outros smbolos no so permitidos antes smbolo hash.Os comentrios so ignorados pela sintaxe.Se o carter (#) aparecem corda dentro dele no considerado um comentrio.Exemplo # Isto um comentrio # Comentrio ruim : Um mundial; # Comentrio ruim

: Pt myStr "lala # isto no um comentrio"Linha que uneDuas ou mais linhas fsicas podem ser unidas em linhas lgicas usando caractere de barra invertida (\).A linha que termina em uma barra invertida no pode carregar um comentrio.Uma barra invertida no continuar um comentrio.Uma barra invertida no continua um smbolo, exceto para strings literais.A barra invertida ilegal em outro lugar em uma linha de fora de uma string literal.Exemplo : If ($ a = true \ e $ b = false) = {fazer: colocar "$ a $ b"; }

: If ($ a = true \ # ruim comentrio e $ b = false) = {fazer: colocar "$ a $ b"; }

# Comentrio \ continuou - invlido (erro de sintaxe)

Espao em branco entre os tokensO espao em branco pode ser usado para separar os tokens.O espao em branco necessrio entre dois tokens somente se sua concatenao poderiam ser interpretadas como um smbolo diferente.Exemplo: { : Local, um verdadeiro; : Local de b falso; # Espaos em branco no necessria : Colocar (a && b); # Espao em branco necessria : Colocar (a e b); }Espaos em branco no so permitidos entre " = ' entre "from = '' a '=' passo = '' = '' em fazer = '' else = 'Exemplo: #incorrect: : For i from = 1 a = 2 do = {: colocar US $ i} sintaxe #correct: : For i from = 1 a = 2 do = {: colocar US $ i} : For i from = 1 a = 2 do = {: colocar US $ i} #incorrect / Ip route adicionar porta de entrada = 3.3.3.3 #correct / Ip route adicionar porta de entrada = 3.3.3.3

ScopesAs variveis podem ser usados apenas em certas regies do script.Essas regies so chamadas de escopos.mbito determina a visibilidade da varivel.Existem dois tipos de escopos -globaiselocais.Uma varivel declarada dentro de um bloco acessvel somente dentro desse bloco e os blocos fechados por ela, e somente aps o ponto de declarao.Escopo globalEscopo escopo ou raiz global escopo padro do script.Ele criado automaticamente e no pode ser desligado.mbito localO usurio pode definir seus prprios grupos para bloquear o acesso a certas variveis, estes mbitos so chamados escopos locais.Cada escopo local est entre chaves ("{}"). { : Local, a 3; { : B local, 4; : Colocar ($ a + $ b); } #line abaixo ir gerar erro : Colocar ($ a + $ b); }No cdigo acima varivelbtem escopo local e no estar acessvel aps chaveta fechado.

Nota:Cada linha escrita no terminal tratado como escopo localAssim, por exemplo, varivel local definido no ser visvel na prxima linha de comando e ir gerar erro de sintaxe [Admin @ MikroTik]>: minhaVar local, um; [Admin @ MikroTik]>: colocar US $ minhaVar erro de sintaxe (linha 1 coluna 7)Aviso:No definir variveis globais dentro de mbitos locais.Note que, mesmo varivel pode ser definida como global, ele estar disponvel apenas a partir de seu escopo, a menos que ele j no estiver definido. { : Local, a 3; { : B global de 4; } : Colocar ($ a + $ b); }Cdigo acima ir gerar um erro.Palavras-chaveAs seguintes palavras so palavras-chave e no podem ser usados como nomes de variveis e de funes: ou no e emDelimitadoresOs seguintes smbolos servem como delimitadores na gramtica: () [] {}:; $ /

Os tipos de dadosLinguagem de script RouterOS tem seguintes tipos de dados:TipoDescrio

NUM (nmero)- 64 bits assinado inteiro, possvel entrada hexadecimal;

bool (booleano)- Valores pode abelhatrueoufalse;

str (string)- Seqncia de caracteres;

ip- Endereo IP;

IP6-prefix- Prefixo IPv6

id (identificao interna)- Valor hexadecimal prefixado por sinal '*'.Cada item do menu tem atribudo o nmero nico - ID interno;

tempo- Data e hora de valor;

ordem- Sequncia de valores organizados em uma matriz;

zero- Padro tipo de varivel se nenhum valor atribudo;

Seqncias de escape constantesSeqncias de escape a seguir podem ser usados para definir certo carter especial dentro de string:\ "Insira aspas duplas

\\Insira barra invertida

\ NInserir uma nova linha

\ RInsira retorno de carro

\ TInsira guia horizontal

\ $Sada $ carter.Caso contrrio, $ usado para ligar varivel.

\?Sada?personagem.Caso contrrio? usado para imprimir "ajuda" no console.

\ _- Espao

\ A- BEL (0x07)

\ B- Backspace (0x08)

\ F- Avano de formulrio (0xFF)

\ VInserir tabulao vertical

\ XxCarter impresso de valor hexadecimal.Nmero hexadecimal deve usar letras maisculas.

Exemplo : Coloque "\ 48 \ 45 \ 4C \ 4C \ 4F \ r \ nEste \ r \ nis \ r \ na \ r \ nTest";que ir mostrar na exposioHELLOThisisatestOperadoresOperadores aritmticosOperadores aritmticos usuais so suportados no RouterOS linguagem de scriptOpearatorDescrioExemplo

"+"Alm binrio:put (3+4);

"-"subtrao binria:put (1-6);

"*"multiplicao binria:put (4*5);

"/"diviso binria:put (10 / 2); :put ((10)/2)

"-"negao unria{ :local a 1; :put (-a); }

Nota:para a diviso de trabalho que voc tem que usar chaves ou espaos em torno de dividendos assim que no confundido como endereo IP

Operadores RelacionaisOpearatorDescrioExemplo

""maior:put (3>4);

"="igual:put (2=2);

" ="maior ou igual

"! ="no igual

Operadores lgicosOpearatorDescrioExemplo

"!", "No"NO lgico:put (!true);

"&&", "E"E lgico:put (true&&true)

"||", "Ou"OU lgico:put (true||false);

"Na":put (1.1.1.1/32 in 1.0.0.0/8);

Operadores bit a bitOperadores bit a bit esto trabalhando em nmero e endereo iptipos de dados.

OpearatorDescrioExemplo

"~"inverso bit:put (~0.0.0.0)

"|"OR bit a bit.Executa operao lgica OR em cada par de bits correspondentes.Em cada par o resultado "1", se um dos bits ou ambos os bits forem "1", caso contrrio, o resultado "0".

"^"XOR.O mesmo que OR, mas o resultado em cada posio "1", se dois bits no so iguais, e "0" se os bits so iguais.

"&"AND bit a bit.Em cada par o resultado "1" se o primeiro e segundo bit "1".Caso contrrio, o resultado "0".

">"deslocamento para a direita por determinada quantidade de bits

Os operadores de concatenaoOpearatorDescrioExemplo

"."concatena duas strings:put (concatenate . . string);

","concatena duas matrizes ou adiciona elemento de matriz:put ({1;2;3} , 5 );

possvel adicionar os valores das variveis para strings sem operador de concatenao: : MinhaVar global "mundo";

: Colocar ("Ol" $ myVar.); # Prxima linha faz o mesmo que acima : Put "Ol $ myVar";Usando $ [] e $ () na seqncia, possvel adicionar expresses dentro de strings: : Local, a 5; : B local, 6; : Colocar "5x6 = $ ($ a * $ b)";

: Colocar "Temos $ [: len [ip route / encontrar]] rotas";Outros OperadoresOpearatorDescrioExemplo

"[]"substituio de comando.Pode conter apenas linha de comando nico:put [ :len "my test string"; ];

"()"sub expresso ou operador de agrupamento:put ( "value is " . (4+5));

"$"operador de substituio:global a 5; :put $a;

"~"operador binrio que corresponde valor contra POSIX estendido expresso regularImprimir todas as rotas qual gateway termina com 202/ip route print where gateway~"^[0-9 \\.]*202"

"->"Obter um elemento array pelas chaves [Admin @ x86]>: aaa mundial {a = 1; b = 2} [Admin @ x86]>: colocar ($ aaa -> "a") 1 [Admin @ x86]>: colocar ($ aaa -> "b") 2

VariveisLinguagem de script tem dois tipos de variveis: mundial- acessvel a partir de todos os scripts criados pelo usurio atual, definido pelomundialde palavras-chave; local- acessvel apenas dentro do atualescopo, definido porlocal depalavra-chave.

Nota:A partir da v6.2 no pode haver variveis indefinidas.Quando a varivel indefinido parser vai tentar olhar para as variveis definidas, por exemplo,DHCPlease-scriptouHotspoton-loginCada varivel, exceto para construdo em variveis RouterOS, deve ser declarada antes do uso de palavras-chave locais ou globais.As variveis indefinidas ser marcado como indefinido e ir resultar em erro de compilao.Exemplo: # Seguinte cdigo ir resultar em erro de compilao, porque minhaVar usado sem declarao : Set minhaVar "meu valor"; : Colocar US $ minhaVarCdigo correto: : MinhaVar local; : Set minhaVar "meu valor"; : Colocar US $ myVar;A exceo quando o uso de variveis definidas, por exemplo, porarrendamento-scriptDHCP Script / sistema add name = poltica myLeaseScript = \ ftp, reboot ler, escrever, poltica, teste, WinBox, password, sniff, sensvel, api \ source = ": log info \ $ leaseActIP \ r \ \ N: log info \ $ leaseActMAC \ r \ \ N: log info \ $ leaseServerName \ r \ \ N: info log \ $ leaseBound "

/ Ip dhcp-server set myServer lease-script = myLeaseScript

Os caracteres vlidos nos nomes de variveis so letras e algarismos.Se o nome da varivel contm qualquer outro personagem, em seguida, o nome da varivel deve ser colocado entre aspas duplas.Exemplo: nome da varivel #valid : MinhaVar local; nome da varivel #invalid : Local de meu-var; #valid porque aspas duplas : Global "minha-var"; Se a varivel inicialmente definida sem valor, em seguida,tipo de dados varivel definida parazero,caso contrrio, o tipo de dados determinado automaticamente pelo mecanismo de script.Por vezes, a converso de um tipo de dados para outro necessria.Ele pode ser conseguida utilizandocomandos de converso de dados.Exemplo: corda #convert para array : MyStr local "1,2,3,4,5"; : Colocar [: typeof $ myStr]; : MyArr locais [: ToArray $ myStr]; : Colocar [: typeof $ myArr]Os nomes das variveis so case sensitive. : MinhaVar local "Ol" # Seguinte linha ir gerar erro, porque MYVAR varivel no est definida : Colocar US $ MYVAR # Cdigo correto : Colocar US $ minhaVarConjunto de comandos sem valor ser un-definir a varivel (retirar do meio ambiente, de novo na v6.2) #remove varivel de ambiente : MinhaVar global "myValue" : Set minhaVar;ComandosOs comandos globaisCada comando global deve comear com":"Sinal, caso contrrio ele ser tratado como varivel.ComandoSintaxeDescrioExemplo

/v ao menu raiz

..voltar a um nvel de menu

?listar todos os comandos de menu disponveis e breves descries

global:global []definir varivel global:global myVar "something"; :put $myVar;

local:local []definir varivel local{ :local myLocalVar "I am local"; :put $myVar; }

bip:beep beep alto-falante embutido

atraso:delay nada fazem para um determinado perodo de tempo

colocar:put colocar o argumento fornecido para consolar

len:len comprimento seqncia de retorno ou matriz contagem de elementos:put [:len "length=8"];

typeof:typeof tipo de retorno varivel de dados:put [:typeof 4];

escolher:pick []gama de elementos ou substring voltar.Se a posio final no especificado, ir retornar apenas um elemento de uma matriz.:put [:pick "abcde" 1 3]

log:log escrever mensagem delog do sistema.Tpicos disponveis so"debug, error, info and warning":log info "Hello from script";

tempo:time voltar intervalo de tempo necessrio para executar o comando:put [:time {:for i from=1 to=10 do={ :delay 100ms }}];

conjunto:set []atribuir valor varivel declarada.:global a; :set a true;

encontrar:find posio da substring ou matriz elemento voltar:put [:find "abc" "a" -1];

ambiente:environment print imprimir informao varivel inicializada:global myVar true; :environment print;

terminalcomandos do terminal relacionado

erro:error Gerar erro console e parar de executar o script

analisar:parse analisar corda e voltar comandos de console analisado.Pode ser usado como funo.:global myFunc [:parse ":put hello!"];$myFunc;

resolver:resolve voltar endereo IP de determinado nome DNS:put [:resolve "www.mikrotik.com"];

ToArray:toarray converter varivel de matriz

tobool:tobool converter varivel para booleano

reumatide:toid converter varivel para identificao interna

ToIP:toip converter varivel para o endereo IP

toip6:toip6 converter varivel de endereo IPv6

tonum:tonum converter varivel para inteiro

tostr:tostr converter varivel para string

totime:totime converter a varivel tempo

Comandos especficos do menuComandos comunsAps os comandos disponveis da maioria dos sub-menus:ComandoSintaxeDescrio

adicionaradd =..=adicionar novo item

removerremove remover o item selecionado

permitirenable permitir item selecionado

incapacitardisable desativar o item selecionado

conjuntoset =..=alterar o parmetro itens selecionados, mais do que um parmetro pode ser especificado no momento.Parmetro pode ser desactivado, especificando '!'antes de parmetro.Exemplo:/ip firewall filter add chain=blah action=accept protocol=tcp port=123 nth=4,2printset 0 !port chain=blah2 !nth protocol=udp

obterget =obter os itens selecionados valor do parmetro

impressoprint =[]itens do menu de impresso.Sada depende de parmetros de impresso especificadas.A maioria dos parmetros de impresso comum esto descritosaqui

exportaoexport [file=]configurao de exportao a partir do menu atual e seus sub-menus (se houver).Se o parmetro do arquivo de sada especificado ser escrito para o arquivo com extenso ".rsc ', caso contrrio, a sada ser impressa para consolar.Comandos exportados podem ser importados pelocomando de importao

editaredit editar itens selecionados propriedade em built-ineditor de texto

encontrarfind Retorna lista de nmeros internos para os itens que so acompanhadas por determinada expresso.Por exemplo::put [/interface find name~"ether"]

importaoImportar comando est disponvel no menu de raiz e usado para importar a configurao de arquivos criados porexportaode comando ou escritas manualmente com a mo.parmetros de impressoVrios parmetros esto disponveis para o comando de impresso:ParmetroDescrioExemplo

anexar

como valorsada de impresso como matriz de parmetros e seus valores:put [/ip address print as-value]

breveimprimir breve descrio

detalheimprimir descrio detalhada, a sada no to legvel como breve sada, mas pode ser til para visualizar todos os parmetros

contar-onlyimprimir somente a contagem de itens de menu

arquivoimprimir sada para o arquivo

seguirimprimir todas as entradas atuais e acompanhar novas entradas at ctrl-c pressionado, muito til ao visualizar as entradas de log/log print follow

siga-onlyimpresso e acompanhar apenas novas entradas at ctrl-c pressionado, muito til ao visualizar as entradas de log/log print follow-only

a partir deparmetros apenas do item especificado impresso/user print from=admin

intervaloA impresso contnua de sada no intervalo de tempo selecionado, til para rastrear mudanas ondefollowno aceitvel/interface print interval=2

concisoMostrar detalhes em formato compacto e mquina amigvel

valor-listaapresentam valores um por linha (bons para fins de anlise)

sem-paginaoSe a sada no se encaixam na tela do console, ento no pare, imprimir todas as informaes em uma nica pea

ondeexpresses seguidos por onde o parmetro pode ser usado para filtrar entradas emparelhadas/ip route print where interface="ether1"

Mais do que um parmetro pode ser especificado em um momento, por exemplo,/ip route print count-only interval=1 where interface="ether1"Loops e instrues condicionaisLoopsComandoSintaxeDescrio

do..while:do { } while=( ); :while ( ) do={ };executar comandos at que determinada condio seja atendida.

por:for from= to= step= do={ }executar comandos ao longo de um determinado nmero de iteraes

foreach:foreach in= do={ };executar comandos para cada um dos elementos em lista

Instruo condicionalComandoSintaxeDescrio

se:if() do={} else={} Se uma determinada condio true, ento executar comandos nodobloco, caso contrrio executar comandos naelsequadra, se especificado.

Exemplo: { : MyBool locais verdadeiro; : If ($ myBool = false) = {fazer: colocar "valor false"} else = {: colocar "valor true"} }

FunesLinguagem de script no permite criar diretamente as funes, no entanto, pode escrever: comando analisar como uma soluo alternativa.A partir de uma nova sintaxe v6.2 adicionado para definir mais fcil tais funes e at mesmo passar parmetros.Tambm possvel retornar o valor da funocom:comandode retorno.Veja os exemplos abaixo: funo #define e execut-lo : MyFunc mundial do = {: colocar "Ol da funo"} $ MyFunc

sada: Ol da funo #pass argumentos para a funo : MyFunc mundial do = {: colocar "arg a = $ a"; : Colocar "arg '1' = $ 1"} MyFunc $ a = "este arg um valor" "este o valor arg1"

sada: arg a = arg este um valor arg '1' = esta valor arg1

Observe que h duas maneiras como passar argumentos: passar arg com nome especfico ("a" no nosso exemplo) passar o valor sem nome arg, arg, nesse caso, "1", "2", .. "n" so utilizados.

Retorno exemplo : MyFunc mundial do = {: return ($ a + $ b)} : Colocar [$ myFunc a = 6 b = 2] sada: 8

Voc pode at mesmo clonar script existente do ambiente de script e us-lo como funo. #Adicione roteiro Script / sistema de add name = fonte myscript = ": colocar \" Ol $ minhaVar \ ""! : Pt myFunc [: analisar [/ script sistema get source myscript]] MyFunc $ myVar = mundo sada: Ol Mundo!

Aviso:Se a funo contm varivel global definida, cujo nome corresponde ao nome do parmetro passado, varivel ento definido globalmente ignorado, para compatibilidade com scripts escritos para verses mais antigas.Este recurso pode mudar em verses futuras.Evite o uso de parmetros com o mesmo nome como variveis globais.Por exemplo: : My2 global "123"

: MyFunc mundial do = {: my2 global; : Colocar US $ my2; : Conjunto my2 "lala"; : Colocar US $ my2} $ MyFunc my2 = 1234 : Colocar "valor global de US $ my2"Sada ser: 1.234 lala valor global de 123

Exemplo funo aninhadaNota:para chamar uma outra funo seu nome precisa ser declarado (o mesmo que para as variveis)

: FuncA mundial do = {:} return 5 : FuncB mundial do = { : FuncA global; : Return ([$ funcA] + 4) } : Colocar [$ funcB] Sada: 9 Detectar erros em tempo de execuoA partir de script v6.2 tem capacidade de detectar erros em tempo de execuo.Por exemplo, [code]: reslove [/ code] comando se no ir lanar um erro e quebrar o script. [Admin @ MikroTik]> {: colocar [: resolver www.example.com]; : Colocar "lala";} falha: nome dns no existeAgora queremos pegar esse erro e siga o nosso roteiro: : Do { : Colocar [: resolver www.example.com]; } On-error = {: colocar "resolvedor falhou"}; : Colocar "lala"

sada:

resolvedor falhou lalaOperaes com MatrizesAviso:Nome da chave na matriz contm qualquer caractere diferente de caractere minsculo, ele deve ser colocado entre aspasPor exemplo: [Admin @ CE0]> {: local, um {"aX" = 1; ay = 2}; : Colocar ($ a -> "aX")}

2

Loop atravs de chaves e valorescomando foreach pode ser usado para percorrer as chaves e elementos: [Admin @ CE0]>: foreach k, v in = {2; "AX" = 1; y = 2; 5} = {fazer: colocar ("$ k = $ v")} 0 = 2 1 = 5 aX = 1 y = 2

Nota:Se o elemento matriz tem chave, em seguida, esses elementos so classificados em ordem alfabtica, sem elementos chaves so movidos antes elementos com chaves e sua ordem no alterada (ver exemplo acima).Altere o valor do elemento da matriz nica [Admin @ MikroTik]>: pt um {x = 1; y = 2} [Admin @ MikroTik]>: set ($ a -> "x") 5 [Admin @ MikroTik]>: ambiente de impresso a = {x = 5; y = 2}

Repositrio ScriptNvel sub-menu:/system scriptContm todos os scripts de usurio criada.Os scripts podem ser executados de vrias maneiras diferentes: no evento- scripts so executados automaticamente em alguns eventos de instalaes (programador,NetWatch,VRRP) por outro script- execuo de scripts dentro de script permitido manualmente- a partir do console executandoprazode comando ou em WinBox

PropriedadeDescrio

nome(string;padro:"Script [num]")nome do script

poltica(string;padro:)lista de polticas aplicveis: permisses API -api ftp- pode fazer logon remotamente atravs de FTP e enviar e recuperar arquivos do roteador locais- pode fazer logon localmente via console alterar senhas -senha poltica- gerenciar as polticas de usurio, adicionar e remover usurio ler- pode recuperar a configurao reiniciar- pode reiniciar o roteador sensvel- ver senhas e outras informaes confidenciais fungada- pode executar sniffer, tocha etc ssh- pode fazer logon remotamente via SSH telnet- pode fazer logon remotamente via telnet teste- pode executar o ping, traceroute teste, largura de banda web- podem fazer logon remotamente via http Winbox- permisses Winbox escrever- pode recuperar e alterar a configuraoLeia descries de polticas mais detalhadasaqui

fonte(string;)Cdigo fonte Script

Leia apenas as propriedades de status:PropriedadeDescrio

ltima iniciado(data)Data e hora em que o roteiro foi passado invocado.

proprietrio(string)O usurio que criou o roteiro

run-count(integer)Contador que conta quantas vezes script foi executado

Comandos especficos do menuComandoDescrio

executar(execute [id | name])Executar script especificado por ID ou nome

AmbienteNvel sub-menu: /system script environment /environmentContm todas as variveis definidas pelo usurio e seus valores atribudos. [Admin @ MikroTik]>: exemplo global; [Admin @ MikroTik]>: set exemplo 123 [Admin @ MikroTik]> / print ambiente "Exemplo" = 123

Leia apenas as propriedades de status:PropriedadeDescrio

nome(string)Nome da varivel

usurio(string)O usurio que definiu varivel

valor()Valor atribudo varivel

TrabalhoNvel sub-menu:/system script jobLista de todos os scripts em execuo contm.Leia apenas as propriedades de status:PropriedadeDescrio

proprietrio(string)Usurio roteiro que est sendo executado

poltica(array)Lista de todas as polticas aplicadas ao roteiro

comeou(data)Data e hora local quando o script foi iniciado