나는 대본을 쓰고 있어요
스크립트는 서버 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!"