Sie sind auf Seite 1von 22

Manual de linguagem de script

Este 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 em repositrio de scripts ou pode ser escrito diretamente
para consolar . Os eventos usados para acionar a execuo de scripts incluem, mas no esto
limitados ao Sistema Scheduler , a ferramenta de monitoramento de trfego , e as Netwatch
Ferramenta eventos gerados.

Estrutura de linha
RouterOS 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 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
no ser necessria.

[Caminho] - caminho relativo ao nvel de menu desejado. Pode ou pode no ser


necessria.

comando - um dos comandos disponveis no nvel de menu especificado.

[Uparam] - parmetro sem nome, deve ser especificado se o comando exige.

[Params] - seqncia de parmetros nomeados, seguido pelos respectivos valores

O final da linha de comando representado pelo smbolo ";" ou de nova linha. s vezes "," ou de
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.1

Linha de comando pode ser construdo a partir de mais de uma linha fsica, seguindo as regras
juntando linha .

Linha Fsica
A linha fsica uma seqncia de caracteres terminada por um (EOL) seqncia de fim-delinha. 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 \).

Comentrios
Um 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 une


Duas 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 tokens


O 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 "<parmetro> = '

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

Scopes
As 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
- globais e locais. 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 global
Escopo escopo ou raiz global escopo padro do script. Ele criado automaticamente e no pode
ser desligado.
mbito local
O 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 varivel b tem escopo local e no estar acessvel aps chaveta fechado.

Nota: Cada linha escrita no terminal tratado como escopo local


Assim, 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-chave
As seguintes palavras so palavras-chave e no podem ser usados como nomes de variveis e de
funes:
ou no e em

Delimitadores
Os seguintes smbolos servem como delimitadores na gramtica:
() [] {}:;

$ /

Os tipos de dados
Linguagem de script RouterOS tem seguintes tipos de dados:
Tipo

Descrio

NUM (nmero)

- 64 bits assinado inteiro, possvel entrada hexadecimal;

bool (booleano)

- Valores pode abelha true ou false ;

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 constantes


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

Insira aspas duplas

\\

Insira barra invertida

\N

Inserir uma nova linha

\R

Insira retorno de carro

\T

Insira 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)

\V

Inserir tabulao vertical

\ Xx

Carter 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 exposio

HELLO
This
is
a
test

Operadores
Operadores aritmticos
Operadores aritmticos usuais so suportados no RouterOS linguagem de script
Opearator

Descrio

Exemplo

"+"

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 Relacionais
Opearator

Descrio

Exemplo

"<"

menos

:put (3<4);

">"

maior

:put (3>4);

"="

igual

:put (2=2);

"<="

inferior ou igual

"> ="

maior ou igual

"! ="

no igual

Operadores lgicos
Opearator
"!", "No"

Descrio
NO lgico

Exemplo

:put (!true);

"&&", "E"

E lgico

:put (true&&true)

"||", "Ou"

OU lgico

:put (true||false);
:put (1.1.1.1/32 in 1.0.0.0/8);

"Na"

Operadores bit a bit


Operadores bit a bit esto trabalhando em nmero e endereo ip tipos de dados .

Opearator

Descrio

Exemplo

:put
(~0.0.0.0)

"~"

inverso bit

"|"

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".

"<<"

desvio esquerda por determinada quantidade de bits

">>"

deslocamento para a direita por determinada quantidade de bits

Os operadores de concatenao
Opearator

Descrio

Exemplo

:put (concatenate . .
string);

"."

concatena duas strings

","

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 Operadores
Opearator

Descrio

Exemplo

"[]"

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 regular

Imprimir todas as rotas qual gateway termina com 202

"->"

/ip route print where gateway~"^[09 \\.]*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

Variveis
Linguagem de script tem dois tipos de variveis:

mundial - acessvel a partir de todos os scripts criados pelo usurio atual, definido
pelo mundial de palavras-chave;

local - acessvel apenas dentro do atual escopo , definido por local de palavra-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, DHCP lease-script ou Hotspot on-login
Cada 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 $ minhaVar

Cdigo correto:
: MinhaVar local;
: Set minhaVar "meu valor";
: Colocar US $ myVar;

A exceo quando o uso de variveis definidas, por exemplo, por arrendamento-script DHCP
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
para zero, 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 utilizando comandos 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 $ minhaVar

Conjunto 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;

Comandos
Os comandos globais
Cada comando global deve comear com ":" Sinal, caso contrrio ele ser tratado como varivel.
Comando

Sintaxe

Descrio

v ao menu raiz

..

voltar a um nvel de menu

Exemplo

listar todos os comandos de menu


disponveis e breves descries

global

:global <var> [<value>]

definir varivel global

:global myVar
"something"; :put $myVar;

local

:local <var> [<value>]

definir varivel local

{ :local myLocalVar "I am


local"; :put $myVar; }

bip

:beep <freq> <length>

beep alto-falante embutido

atraso

:delay <time>

nada fazem para um determinado


perodo de tempo

colocar

:put <expression>

colocar o argumento fornecido para


consolar

len

:len <expression>

comprimento seqncia de retorno ou


matriz contagem de elementos

:put [:len "length=8"];

typeof

:typeof <var>

tipo de retorno varivel de dados

:put [:typeof 4];

escolher

:pick <var>
<start>[<end>]

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 <topic> <message>

escrever mensagem de log do


sistema .Tpicos disponveis
so "debug, error, info and

:log info "Hello from


script";

warning"
tempo

:time <expression>

voltar intervalo de tempo necessrio


para executar o comando

:put [:time {:for i


from=1 to=10 do={ :delay
100ms }}];

conjunto

:set <var> [<value>]

atribuir valor varivel declarada.

:global a; :set a true;

encontrar

:find <arg> <arg>


<start>

posio da substring ou matriz


elemento voltar

:put [:find "abc" "a"


-1];

ambiente

:environment print
<start>

imprimir informao varivel


inicializada

:global myVar true;


:environment print;

comandos do terminal relacionado

terminal
erro

:error <output>

Gerar erro console e parar de executar


o script

analisar

:parse <expression>

analisar corda e voltar comandos de


console analisado. Pode ser usado
como funo.

:global myFunc [:parse


":put hello!"];
$myFunc;

resolver

:resolve <arg>

voltar endereo IP de determinado


nome DNS

:put [:resolve
"www.mikrotik.com"];

ToArray

:toarray <var>

converter varivel de matriz

tobool

:tobool <var>

converter varivel para booleano

reumatide

:toid <var>

converter varivel para identificao

interna
ToIP

:toip <var>

converter varivel para o endereo IP

toip6

:toip6 <var>

converter varivel de endereo IPv6

tonum

:tonum <var>

converter varivel para inteiro

tostr

:tostr <var>

converter varivel para string

totime

:totime <var>

converter a varivel tempo

Comandos especficos do menu


Comandos comuns
Aps os comandos disponveis da maioria dos sub-menus:
Comando

Sintaxe

Descrio

adicionar

add <param>=<value>..<param>=<value>

adicionar novo item

remover

remove <id>

remover o item selecionado

permitir

enable <id>

permitir item selecionado

incapacita
r

disable <id>

desativar o item selecionado

conjunto

set <id> <param>=<value>..<param>=<value> 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,2
print
set 0 !port chain=blah2 !nth
protocol=udp
obter

get <id> <param>=<value>

obter os itens selecionados valor do parmetro

impresso

print <param><param>=[<value>]

itens do menu de impresso. Sada depende de


parmetros de impresso especificadas. A maioria
dos parmetros de impresso comum esto
descritos aqui

exportao export [file=<value>]

editar

edit <id> <param>

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 pelo comando de importao
editar itens selecionados propriedade em builtin editor de texto

encontrar

find <expression>

Retorna lista de nmeros internos para os itens que


so acompanhadas por determinada expresso. Por
exemplo: :put [/interface find

name~"ether"]
importao
Importar comando est disponvel no menu de raiz e usado para importar a configurao de
arquivos criados porexportao de comando ou escritas manualmente com a mo.
parmetros de impresso
Vrios parmetros esto disponveis para o comando de impresso:
Parmetro

Descrio

Exemplo

anexar

:put [/ip address


print as-value]

como valor

sada de impresso como matriz de parmetros e seus valores

breve

imprimir breve descrio

detalhe

imprimir descrio detalhada, a sada no to legvel como breve sada, mas


pode ser til para visualizar todos os parmetros

contar-only

imprimir somente a contagem de itens de menu

arquivo

imprimir sada para o arquivo

seguir

imprimir todas as entradas atuais e acompanhar novas entradas at ctrl-c


pressionado, muito til ao visualizar as entradas de log

/log print follow

siga-only

impresso e acompanhar apenas novas entradas at ctrl-c pressionado, muito


til ao visualizar as entradas de log

/log print followonly

a partir de

parmetros apenas do item especificado impresso

/user print
from=admin

intervalo

A impresso contnua de sada no intervalo de tempo selecionado, til para


rastrear mudanas onde follow no aceitvel

/interface print
interval=2

conciso

Mostrar detalhes em formato compacto e mquina amigvel

valor-lista

apresentam valores um por linha (bons para fins de anlise)

sempaginao

Se a sada no se encaixam na tela do console, ento no pare, imprimir todas


as informaes em uma nica pea

onde

expresses seguidos por onde o parmetro pode ser usado para filtrar entradas
emparelhadas

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 condicionais

/ip route print


where
interface="ether1"

Loops
Comando

Sintaxe

Descrio

do..while

:do { <commands> } while=( <conditions> ); :while ( <conditions> ) do={


<commands> };

executar
comandos
at que
determinada
condio
seja
atendida.

por

:for <var> from=<int> to=<int> step=<int> do={ <commands> }

executar
comandos
ao longo de
um
determinado
nmero de
iteraes

foreach

:foreach <var> in=<array> do={ <commands> };

executar
comandos
para cada
um dos
elementos
em lista

Instruo condicional
Comando

Sintaxe

:if(<condition>) do={<commands>} else={<commands>}


<expression>

se

Descrio
Se uma determinada condio true ,
ento executar comandos no do bloco,
caso contrrio executar comandos
na else quadra, se especificado.

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

Funes
Linguagem 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 funo com: comando de 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;


"lala";

: Colocar US $ my2;

: Conjunto my2

: Colocar US $ my2}

$ MyFunc my2 = 1234


: Colocar "valor global de US $ my2"

Sada ser:
1.234
lala
valor global de 123

Exemplo funo aninhada

Nota: 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 execuo


A 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 existe

Agora 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
lala

Operaes com Matrizes


Aviso: Nome da chave na matriz contm qualquer caractere diferente
de caractere minsculo, ele deve ser colocado entre aspas
Por exemplo:

[Admin @ CE0]> {: local, um {"aX" = 1;

ay = 2};

: Colocar ($ a -> "aX")}

Loop atravs de chaves e valores


comando 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 Script
Nvel sub-menu: /system script
Contm 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 executando prazo de comando ou em WinBox

Propriedade

Descrio

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 configurao

Leia descries de polticas mais detalhadas aqui


fonte (string;)

Cdigo fonte Script

Leia apenas as propriedades de status:


Propriedade

Descrio

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 menu


Comando
executar (execute [id | name])

Descrio
Executar script especificado por ID ou nome

Ambiente
Nvel sub-menu:
/system script environment
/environment
Contm 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:


Propriedade

Descrio

nome (string)

Nome da varivel

usurio (string)

O usurio que definiu varivel

valor ( )

Valor atribudo varivel

Trabalho
Nvel sub-menu: /system script job
Lista de todos os scripts em execuo contm.
Leia apenas as propriedades de status:
Propriedade
proprietrio (string)

Descrio
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

Das könnte Ihnen auch gefallen