Shell Unix
- 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.