Compartilhar via


Controlar atividades de runbook

Você define a sequência de operações em runbooks vinculando atividades no Runbook Designer. Esses links são conhecidos como links inteligentes porque você pode configurá-los para controlar o tipo de dados passados de uma atividade para outra. Você também pode controlar quando o runbook conclui as atividades definindo a lógica para quando essas operações são executadas com loops inseridos. Por fim, você pode usar operações numéricas e de texto para manipular dados à medida que eles passam entre as atividades ou para definir condições para a ordem das operações. Este artigo descreve como controlar o sequenciamento e manipular dados em seu runbook.

As atividades em seu runbook serão concluídas conforme a ordem que você definiu ao vinculá-las. Você pode controlar os dados que fluem entre as atividades usando as abas Incluir e Excluir das Propriedades do Link. Por exemplo, você só pode incluir dados a serem passados para a atividade subsequente que atenda a um critério específico.

Importante

As regras na guia Excluir do smart link substituem as regras na guia Incluir do smart link.

Importante

As regras em cada aba são unidas por meio de uma condição ou. Apenas uma das condições definidas em uma guia deve ser verdadeira para que a condição seja verdadeira.

O tipo de dados publicados por uma atividade determina o tipo de critério que você pode definir para controlar a sequência do runbook. Algumas atividades publicam dados binários e outras publicam dados numéricos ou de texto.

Se os dados publicados forem dados de texto, você poderá usar qualquer um dos seguintes para definir os critérios de execução, inclusão ou exclusão.

Condição Descrição
contém O texto especificado é exibido em algum lugar no valor do item Dados Publicados.
não contém O texto especificado não é exibido em algum lugar no valor do item Dados Publicados.
inicia com O valor do item Dados Publicados começa com o texto especificado.
termina com O valor do item Dados Publicados termina com o texto especificado.
corresponde ao padrão O valor do item Dados Publicados corresponde à expressão regular específica.
não corresponde ao padrão O valor do item Dados Publicados corresponde à expressão regular específica.
igual a O valor do item Dados Publicados corresponde exatamente ao texto especificado.
não é igual a O valor do item Dados Publicados não corresponde ao texto especificado.

Observação

Os valores de texto não diferenciam maiúsculas de minúsculas.

Você também pode definir critérios usando expressões regulares para executar a correspondência de padrões.

Se os dados publicados forem numéricos, você poderá usar qualquer um dos seguintes para definir os critérios de execução, inclusão ou exclusão.

Condição Descrição
igual a O valor do item Dados Publicados é exatamente igual ao valor especificado.
não é igual a O valor do item Dados Publicados não é igual ao valor especificado.
é menor que O valor do item Dados Publicados é menor que o valor especificado.
é maior que O valor do item Dados Publicados é maior que o valor especificado.
é menor ou igual a O valor do item Dados Publicados é menor ou igual ao valor especificado.
é maior ou igual a O valor do item Dados Publicados é maior ou igual ao valor especificado.
está entre O valor do item Dados Publicados está entre dois valores especificados.

Selecione a guia necessária para ver as etapas e adicionar ou remover uma condição de link inteligente:

Repetir atividades com loops incorporados

Ao usar loops, você pode criar repetições automáticas e monitorar em qualquer local em um runbook.

Você pode criar um loop para qualquer atividade para que possa repetir as operações se elas falharem ou testar as informações de saída da atividade para dados válidos. Você também pode usar esses mecanismos para criar condições de espera em seus fluxos de trabalho.

Quando você configura um loop para uma atividade, ele continuará a ser executado com os mesmos dados de entrada até que um critério de loop de saída desejado seja atingido. Você cria os critérios de saída para o loop de maneira semelhante às configurações de link inteligente. Você pode usar qualquer item de dados publicado da atividade como parte da configuração de sair ou não sair. Incluídos nos dados publicados comuns estão itens de dados especiais, como Loop: Número de tentativas e Loop: Duração total, que permitem usar informações do próprio loop nas condições de loop.

Os loops são executados uma vez para cada dado de entrada que é passado para a atividade. Por exemplo, considere um runbook que usa uma atividade Consultar banco de dados seguida por Acrescentar linha. Se a atividade Query Database retornasse três linhas, a atividade Append Line seria executada três vezes. Se você tiver um loop na atividade Append Line , ele executará três loops separados. Depois que o primeiro item de dados tiver feito um loop pela atividade Append Line , o próximo item passará por Append Line e fará um loop até sair e, em seguida, o terceiro começará. Após processar os três itens, a próxima atividade no runbook é executada.

Configurar looping

  1. Clique com o botão direito em uma atividade no runbook para selecionar Looping. A caixa de diálogo Propriedades do looping é aberta.

  2. Na guia Geral , selecione Habilitar.

  3. Na caixa Atraso entre tentativas, insira o número de segundos para pausar entre cada tentativa de executar a atividade.

Condições de sair e não sair

As regras na guia Exit especificam as condições que determinam se o loop será encerrado. As regras na guia Não Sair especificam as condições que fazem com que o loop continue.

Importante

As regras na guia Não Sair substituem as regras na guia Sair .

As regras dentro de cada aba são unidas usando uma condição Ou. Apenas uma das condições em uma guia deve ser verdadeira para que toda a guia seja verdadeira.

Selecione a guia necessária para adicionar ou remover uma condição de Sair:

Siga estas etapas para adicionar uma condição de saída:

  1. Na caixa de diálogo Propriedades do looping, selecione a guia Sair ou a guia Não sair e depois selecione a condição listada na caixa e Adicionar para adicionar uma condição.

    Importante

    Para alterar os valores que compõem a regra, você precisa selecionar cada parte sublinhada da condição de link.

  2. Selecione a atividade listada na condição para abrir a caixa de diálogo Dados Publicados .

  3. Marque a caixa de seleção Mostrar Dados Retornados Comuns para exibir propriedades comuns a todas as atividades.

  4. Selecione uma propriedade nos dados publicados e, em seguida, selecione OK. A expressão dos critérios é alterada dependendo do tipo de dados que a propriedade retorna.

  5. Para alterar as diferentes partes da expressão, selecione o texto sublinhado e selecione ou insira um valor apropriado.

  6. Selecione Concluir.

Definir um agendamento para o runbook

Você pode definir um cronograma para controlar quando um runbook será executado. Por exemplo, em alguns casos não é adequado executar alguns runbooks, como fazer backup de um runbook em um servidor principal durante o horário comercial regular. Você pode criar uma agenda que é executada de acordo com um intervalo complexo, como na primeira e na terceira segunda-feira e quinta-feira de cada mês, exceto quando esse dias caírem em um feriado.

Agendas usam o relógio do sistema do servidor Runbook que executa o runbook. Isso permite que as agendas funcionem em ambientes de máquina virtual e continuem sendo executadas mesmo quando o relógio do sistema for ajustado para mudanças de ou para o Horário de Verão.

Os runbooks que iniciam antes de um horário proibido são executados até a conclusão, mesmo que ainda estejam sendo processados quando atingirem o horário proibido. Eles não serão interrompidos após o início do processamento.

Importante

As permissões de acesso para agendamentos podem ser modificadas, mas o servidor runbook não impõe essas permissões.

Observação

Se você agendar um runbook para iniciar durante uma hora que é ignorada quando o relógio do sistema é adiantado em uma hora, esse horário de início será ignorado e o runbook iniciará no próximo horário agendado. Se você agendar um runbook para iniciar durante uma hora que ocorre duas vezes porque o relógio do sistema está atrasado em uma hora, o runbook será iniciado duas vezes.

Observação

O Orchestrator não suporta mover múltiplos agendamentos com seleção múltipla. Para mover mais de uma agenda para outra pasta, você deve mover cada agenda individualmente.

Selecione a aba necessária para criar um agendamento, atribuir um agendamento a um runbook ou remover um agendamento de um runbook.

Siga estas etapas para criar um agendamento:

  1. No painel Conexões, clique com o botão direito do mouse na pasta Agendamentos ou em uma subpasta da pasta Agendamentos, aponte para Novo e selecione Agendamento para abrir a caixa de diálogo Novo Agendamento.

  2. Na aba Geral, na caixa Nome, insira um nome para a agenda.

  3. Na caixa Descrição, insira uma descrição que descreva ou explique a finalidade da agenda.

  4. Selecione a guia Detalhes. Selecione os dias em que este agendamento permite executar os runbooks:

    Dias da semana: Marque esta opção e selecione os dias da semana em que esta agenda permitirá a execução de runbooks.

    Ocorrência: selecione as semanas do mês em que a agenda permitirá a execução de runbooks.

    Dias do mês: Marque esta opção e selecione os dias do mês em que esta agenda permitirá a execução de runbooks. Especifique os dias do mês inserindo o número do dia. Você pode usar hifens para descrever intervalos e vírgulas para separar entradas. Por exemplo, digitar 1,3 inclui o primeiro e o terceiro dia do mês. Inserir 1-21 inclui do primeiro até o vigésimo primeiro dia do mês. Você pode combinar as duas opções para criar descrições complexas dos dias do mês. Insira tudo para especificar todos os dias do mês. Digite last para especificar o último dia do mês.

    Você não pode usar todos e último como parte de um intervalo de dias. Além disso, se você inseriu um intervalo de 5 a 31, esse intervalo funcionará corretamente para todos os meses, incluindo aqueles com 28, 29, 30 e 31 dias.

  5. Selecione Horas para abrir a caixa de diálogo Agendar Horas .

  6. Selecione e arraste para selecionar um grupo de horas em uma semana. O texto na parte inferior da caixa de diálogo mostra o período de tempo selecionado. Selecione uma das seguintes opções:

    Permitir (azul): atribui o período de tempo selecionado como um período em que é permitida a execução de runbooks.

    Negado (branco): atribui o período de tempo selecionado como um período em que não é permitida a execução de runbooks.

  7. Selecione OK.

  8. Selecione a guia Exceções . A lista exibe todos os dias que são exceções às regras definidas na guia Detalhes .

  9. Selecione Adicionar para abrir a caixa de diálogo Data.

  10. Especifique a data e selecione Permitir ou Não permitir que o runbook seja executado nesse dia e, em seguida, selecione OK. A entrada aparece na lista.

  11. Para modificar uma entrada de exceção, selecione-a e, em seguida, selecione Modificar. Para remover a entrada Exceção, selecione-a e, em seguida, selecione Remover.

  12. Para modificar uma agenda, clique duas vezes na Agenda.

  13. Para remover uma agenda, clique com o botão direito do mouse na Agendae, em seguida, selecione Excluir.

  14. Selecione Concluir.

Manipular dados com funções

Talvez seja necessário manipular dados de cadeia de caracteres de arquivos de texto, dados retornados ou outras fontes e convertê-los em uma forma utilizável para as suas atividades no runbook. Além disso, você pode executar operações aritméticas simples, como calcular somas e diferenças e executar operações de divisão e multiplicação. Por exemplo, você pode extrair texto de um arquivo de texto usando uma atividade de Gerenciamento de Arquivos de Texto , cortar espaços à esquerda e à direita do texto e recuperar partes específicas do texto que podem ser passadas para outras atividades como itens de dados retornados.

Você manipula os dados no runbook ao inserir uma função. As funções de manipulação de dados devem ser colocadas entre colchetes ('[' e ']'). Por exemplo:

[Upper('this will be inserted in upper case')]

Quando a atividade é executada, o texto 'isso será inserido em letras maiúsculas' do exemplo é substituído por 'ISSO SERÁ INSERIDO EM LETRAS MAIÚSCULAS'.

As funções diferenciam maiúsculas de minúsculas. Por exemplo, Upper('Texto') será processada, mas upper('Texto') não será.

A tabela a seguir lista as funções com suporte para runbooks.

Função e definição Uso Parâmetros Exemplo
Upper - converte o texto em letras maiúsculas. Upper('Texto') Texto - o texto que está sendo convertido em letras maiúsculas. Upper('isso será convertido em letras maiúsculas') retorna 'ISSO SERÁ CONVERTIDO EM LETRAS MAIÚSCULAS'
Lower - converte o texto em letras minúsculas. Lower('Texto') Texto - o texto que está sendo convertido em letras minúsculas. Lower('Isso Será Convertido em Letras Minúsculas') retorna 'isso será convertido em letras minúsculas'
Field - retorna o texto em uma posição específica. Field('Texto', 'Delimitador', Número de Campo) Texto - o texto que está sendo pesquisado.

Delimitador - o caractere que separa cada campo.

Número de Campo - a posição do campo que está sendo retornado (começando em 1).
Field('John;Smith;9055552211', ';', 2) retorna 'Smith'.
Sum - retorna a soma de um conjunto de números. Soma(primeiroNúmero, segundoNúmero, terceiroNúmero, ...) Número - o número que está sendo adicionado. Você pode colocar qualquer conjunto de números, cada um separado por uma vírgula (,). Sum(2,3,4,5) retorna '14'
Diff - retorna a diferença entre dois números. Diff(Número1, Número2, <Precisão>) Número1 - o número do qual a subtração será feita.

Número2 - o número que será subtraído de Número1.

Precisão <Opcional>: o número de casas decimais para as quais o resultado será arredondado.
Diff(9, 7) retorna '2'

Diff(9,3, 2,1, 2) retorna '7,20'
Mult - retorna o produto de um conjunto de números. Mult(primeiroNúmero, segundoNúmero, terceiroNúmero, ...) Número - o número que está sendo multiplicado. Você pode colocar qualquer conjunto de números, cada um separado por uma vírgula (,). Mult(2, 3, 4) retorna '24'
Div - retorna o quociente de dois números. Div(Número1, Número2, <Precisão>) Número1 - o número que será dividido.

Número2 - o número que dividirá o Número1.

Precisão <Opcional>: o número de casas decimais para as quais o resultado será arredondado.
Div(8, 4) retorna '2'

Div(9, 2, 2) retorna '4,50'
Instr - retorna a posição da primeira ocorrência do texto dentro de outro texto. Instr ('PesquisarTexto', 'TextoParaLocalizar') TextoDePesquisa - o texto que está sendo pesquisado.

TextoParaLocalizar - o texto que você está procurando.
InStr('Esta é uma cadeia de caracteres que é procurada', 'cadeia de caracteres') retorna 11
Right - retorna um subconjunto do texto à direita do texto completo. Right('Texto', Comprimento) Texto - o texto completo.

Comprimento - o número de caracteres à direita que será retornado.
Right('Tirar da direita', 9) retorna 'direita'
Left - retorna um subconjunto do texto à esquerda do texto completo. Left('Texto', Comprimento) Texto - o texto completo.

Comprimento - o número de caracteres à esquerda que será retornado.
Left('Tirar da esquerda', 4) retorna 'Tirar'
Mid - retorna um subconjunto do texto a partir da parte central do texto completo. Mid('Texto', Início, Comprimento) Texto - o texto completo.

Início - posição inicial do texto onde você deseja começar a retornar caracteres.

Comprimento - o número de caracteres a partir da posição inicial que serão retornados.
Mid('Tirar do meio', 5, 4) retorna 'de'
LTrim - corta espaços à esquerda do texto. LTrim('Texto') Texto - o texto do qual os espaços à esquerda estão sendo cortados. LTrim(' Remova apenas os espaços iniciais. ') retorna 'Remova apenas os espaços iniciais. '
RTrim - corta os espaços à direita do texto. RTrim('Texto') Texto - o texto do qual os espaços à direita estão sendo cortados. RTrim(' Remova apenas os espaços à direita. ') retorna ' Remova apenas os espaços à direita.'
Trim - corta espaços à esquerda e à direita do texto. Trim('Texto') Texto - o texto que está sendo cortado. Trim(' Remova os espaços à esquerda e à direita. ') retorna 'Remover espaços à esquerda e à direita'.
Len - retorna o comprimento do texto. Len('Texto') Texto - o texto que está sendo medido. Len('Medir este texto') retorna 17

Observação

As funções diferenciam maiúsculas de minúsculas. Por exemplo, Upper('Texto') será processada, mas upper('Texto') não será.

Próximas etapas

Para ler um passo a passo guiado da criação de um runbook de exemplo, consulte Criando e testando um runbook de exemplo.