원격 서버에서 스크립트를 실행하여 로컬 서버에서 이메일 보내기

원격 서버에서 스크립트를 실행하여 로컬 서버에서 이메일 보내기

나는 대본을 쓰고 있어요

스크립트는 서버 A에 있고 서버 B에서 실행됩니다.

이제 원격 서버 B의 명령이 제대로 작동하는지 확인하고 싶습니다. 명령이 성공하면 배포판에 이메일을 보내야 합니다.

이 이메일은 서버 A에서 와야 합니다. 이제 막혔고 서버 A에서 이메일을 보내고 서버 B에서 명령 출력을 실행하는 방법을 모르겠습니다.

이것은 내 스크립트입니다.

#!/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

답변1

수행하려는 주요 작업은 원격 서버에서 실행된 명령의 출력을 가져오는 것 같습니다. 다음은 SSH를 사용하여 이를 수행하는 방법에 대한 간단한 예입니다.

먼저 원격 서버에서 실행되는 스크립트를 만듭니다.

#!/bin/bash

# remote_script.sh

echo "This ran on the remote server!"

다음으로, 로컬 서버에서 실행되고 원격 서버에서 스크립트를 호출하는 스크립트를 만듭니다.

#!/bin/bash

# local_script.sh

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

마지막으로 로컬 스크립트를 실행합니다.

user@local_server:~$ bash local_script.sh
"This ran on the remote server!"

관련 정보