Execute o script no servidor remoto, envie um email do servidor local

0

Estou trabalhando em um script

Este script fica no servidor-A e é executado no servidor-B

Agora quero verificar se um comando correu bem no servidor remoto -B. Se o comando for bem sucedido, então deve enviar um email para uma distribuição.

Este e-mail deve vir do servidor-A. Agora estou em um estado de dilema para entender como podemos enviar um email do servidor-A, com uma saída do comando executado no servidor-B.

Aqui está o meu script.

#!/bin/bash
ps -ef|grep -i service
output1=$(echo $?)
if [ "$output1" -ne 0 ]
then
docker start service
fi
docker ps|grep service
output2=$(echo $?)
fi
if [ "$output2" -ne 0 ]
then
mail -s "Unable to start protegrity on $(hostname)" [email protected] <<< "message"
fi
    
por santhu 08.11.2017 / 05:03

1 resposta

0

Parece que a tarefa principal que você está tentando realizar é obter a saída de um comando executado em um servidor remoto. Aqui está um exemplo minimalista que ilustra como fazer isso usando SSH.

Primeiro, crie um script para ser executado no servidor remoto:

#!/bin/bash

# remote_script.sh

echo "This ran on the remote server!"

Em seguida, crie um script para ser executado no servidor local que chama o script no servidor remoto:

#!/bin/bash

# local_script.sh

output="$(ssh user@remote_server "bash remote_script.sh")"
echo ${output}

Por fim, execute o script local:

user@local_server:~$ bash local_script.sh
"This ran on the remote server!"
    
por 08.11.2017 / 06:08