Pular para o conteúdo principal

Shell Unix

Configuração atual da tarefa Unix Shell no Workflow Designer
  • Tipo de Tarefa: ssh

Descrição

A Tarefa Shell Unix é um componente de administração de sistema extremamente versátil que permite ao Workflow executar comandos num servidor remoto ou na máquina local (modo Padrão).

É uma ferramenta completa para automação de TI, que permite executar scripts, gerir ficheiros, verificar o estado dos serviços, instalar pacotes e realizar qualquer outra operação disponível numa linha de comando.

Configuração

A configuração da Tarefa define os detalhes da ligação (se aplicável) e o comando a ser executado. Os campos podem ser preenchidos manualmente ou através de parâmetros e variáveis do fluxo de trabalho.

Ligação ao Servidor

  • Modo de ligação: define a origem das credenciais e o tipo de execução. Pode assumir três modos operacionais:
  • Padrão: os comandos são executados na máquina local, sem ligação SSH.
  • Manual: permite o preenchimento manual dos parâmetros de ligação.
  • Ambiente: utiliza um ambiente de ligação pré-configurado. Neste modo, é exibido um menu que lista as ligações disponíveis com base no papel associado ao Workflow.
  • Outros campos (apenas para ligação remota):
  • Endereço IP: endereço IP do servidor remoto.
  • Hostname: nome de host do servidor remoto.
  • Utilizador: nome de utilizador usado para estabelecer a ligação SSH.
  • Palavra-passe: palavra-passe associada ao utilizador de ligação.
  • Porta: porta utilizada para a ligação SSH (o valor padrão é 22).

Executar comando como outro utilizador

Ao ativar esta caixa de seleção, é possível executar a pesquisa com um utilizador diferente daquele usado para a ligação SSH.

  • Utilizador: nome do utilizador com quem o comando será executado.
  • Palavra-passe: palavra-passe do utilizador usado para a execução do comando.

Tipo de comando

Esta opção permite escolher o modo de execução da Tarefa:

  • Ligação: neste modo, a Tarefa limita-se a estabelecer uma ligação SSH com o servidor remoto para verificar se é acessível e se as credenciais estão corretas. Não executa nenhum comando. É útil como primeiro passo de um Workflow para garantir que um servidor está online antes de prosseguir.
  • Comando: é uma área de texto onde se podem inserir um ou mais comandos shell a serem executados no servidor remoto.

Parâmetros de Saída

Assim que o serviço externo responder à chamada, a Tarefa expõe os seguintes parâmetros de saída, que são cruciais para processar o resultado da solicitação:

  • result: Contém a saída padrão (stdout) dos comandos executados. Se os comandos produzirem um resultado textual, este será capturado neste parâmetro.
  • resultJson: representa o resultado da execução da tarefa em formato JSON, incluindo informações gerais, configurações e detalhes da execução.
  • exitStatus: Retorna o código de saída do último comando executado. Um valor de 0 indica tipicamente uma execução bem-sucedida, enquanto valores diferentes de zero sinalizam um erro.

Exemplo de parâmetro resultJson

{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}

Notas Importantes

  • O utilizador usado para a ligação (ou o utilizador "executar como") deve ter as permissões necessárias para executar os comandos especificados.
  • É possível encadear vários comandos usando os operadores de shell padrão, como && (executa o segundo comando apenas se o primeiro for bem-sucedido) ou ; (executa o segundo comando independentemente do resultado do primeiro).
  • A tarefa estabelece uma ligação SSH com o servidor remoto e executa os comandos configurados. Se for utilizada a autenticação por chaves SSH, é necessário que a chave pública esteja registada no servidor remoto. Se a opção "Executar comando como outro utilizador" estiver ativada, o controlo é executado com um utilizador diferente do principal da ligação SSH.