쉘 스크립트를 사용하여 3개의 서버 상태를 HTML 테이블 형식으로 보내야 합니다. 출력은 다음과 같습니다.
---------------------------------------
| Daily Status |
---------------------------------------
| Ad Status | |
---------------------------------------
| Servers | Ser1 | Ser2 | Ser3 |
---------------------------------------
| Serv. Status | | | |
---------------------------------------
| DB Server | | | |
---------------------------------------
| Other Status |
---------------------------------------
| Usage | | | |
---------------------------------------
| Final Stats |
---------------------------------------
| Total | | | |
---------------------------------------
| Success | | | |
---------------------------------------
| Fail | | | |
---------------------------------------
| Overall | |
---------------------------------------
샘플 스크립트로 이 작업을 수행하려고 했지만 위 표와 다른 결과가 나왔습니다.
#!/bin/sh
spawn ssh [email protected]
interact
......
ad_status=$(echo .....)
if [[ $ad_status == "yes" ]]; then
ad_status=$(echo "OK")
elif [[ $ad_status != "yes" ]]; then
ad_status=$(echo "NOK")
fi
.... <same for all variable which mention in below table format>
echo "
<html>
<body>
<table>
<tr>
<th>Daily Status</th>
<tr><td>Ad Status</td><td colspan=3>$ad_status</td></tr>
<tr><td>Servers</td><td>ser1</td><td>ser2</td><td>ser3</td></tr>
<tr><td>Serv. Status</td><td>$server_status</td><td></td><td></td></tr>
<tr><td>DB Server</td><td>$db_status</td><td></td><td></td></tr>
.............
</tr>
</table>
</body>
</html>" > abc.html
(uuencode abc.html abc.html) | cat abc.html | mail -s "$(echo -e "Status\nContent-Type: text/html")" [email protected]
exit 0
문제는 다른 서버 스크립트에서 인쇄된 값에 있습니다. 여기171.234.67.89다른 서버 2의 IP 주소입니다. ad_status
/path/script/test.sh에 변수를 인쇄해야 합니다.서버 2&서버 3게다가. 기본 스크립트는 Server1에서 실행되므로 다른 서버에 연결하기 위해 비밀번호 없는 인증을 사용했습니다. 다른 서버의 메일 내용 값도 출력됩니다. 이 문제를 해결하는 데 도움을 주실 수 있나요?
답변1
정확히 무엇이 필요한지 잘 모르겠지만 다음과 같을 수 있습니다.
ad_status=$(echo .....)
if [[ $ad_status == "yes" ]]; then
ad_status="OK"
else
ad_status="NOK"
fi
답변2
다른 서버와의 연결이 완료되면 ad_status2
두 번째 서버와 마찬가지로 변수를 생성합니다. 그런 다음 호출 스크립트는 HTML 태그 내의 다른 스크립트의 변수/값을 사용합니다.