원격지 서버 php로 명령어 실행하기 조언좀 듣고싶습니다.

cdral의 이미지

쉘스크립트만 쓰다가 php는 거의처음해보는데요

php로 스크립트를 만들려는 이유는 서버모니터링을 하며 그결과를 html형식의 이멜로 받고자 합니다.

우선 각각의서버에서 체크시 정상적으로 메일을 받긴했는데 각각의 서버에서 스크립트를 실행하는게 아닌

관리자 서버에서 스크립트를 실행하면 원격지 서버에서 명령어가 실행되었으면 합니다.

즉 A서버에서 php 스크립트를 실행하면 B서버, C서버, D서버 에 명령어가 실행되어

모니터링한 결과가 정상적으로 이멜로 받아보고싶은게 목적입니다.

음 원격지서버를 php로 컨트롤할려면 어떻게 해야하는지요 조언좀 구해봅니다.

망치의 이미지

각각의 원격지 서버에 웹서버를 설치해두고 관리 서버에서 wget 으로 원격지 서버의 php 를 호출하면 될것같습니다.

---------------------------------------
http://www.waitfor.com/

---------------------------------------
http://www.waitfor.com/
http://www.textmud.com/

red10won의 이미지

php안에 system(./stat.sh) 함수 넣어서 ....b,c,d서버에 stat.php

http://b.dns.com/stat.php
http://c.dns.com/stat.php
http://d.dns.com/stat.php

특정시간에 창하나 뜨고 닫게 머 그런 ㅋㅋ

http://a.dns.com/total.php
자바스크립트로 b,c,d 다 open.windows 시키구요 ㅋㅋ

a,b,c서버 stat.php 끝에 창close 시키면 ㅋ

nobody로 system함수 쓰는게 좀 글킨하네요 ㅋㅋㅋ 대충 기능만 원한다면
윗 방법이 더 좋아 보입니다 ㅋ

사랑천사의 이미지

네이버 개발자 센터에 가 보시면.. 아마 dist 라는 것이 있을 겁니다. 그거 가저다가 응용해 보세요.
-- 이여송 --
HomePage: http://lys.lecl.net/
Blog: http://www.lecl.net/lablog
LECL: http://www.lecl.net/
E-Mail: yeosong@gmail.com ysnglee2000@lecl.net
MSN: ysnglee2000@hotmail.com

사람천사

doodoori2의 이미지

이정도 하시면 될것 같네요.

A 서버
<?php
$server_list = array();
$server_list [] = "http://B/get_check_result.php";
$server_list [] = "http://C/get_check_result.php";
$server_list [] = "http://D/get_check_result.php";

$result = array();
foreach($server_list as $server__url)
{
$result[] = file_get_contents($server_url);
}

// send mail
메일보내기($result);
?>

각각 B,C,D 에서는
<?php
if($_SERVER['REMOTE_ADDR'] != "A서버IP" )
{
exit;
}

$result = 서버상태체크(); // exec나 shell_exec나 passthru , system 정도 쓰심 될거같고요.

echo $result;
?>

doodoori2의 이미지

file_get_contents로 받아오지 말고
A서버에서 ssh 명령으로 접속해서 특정 명령을 실행시키는 방법이 있습니다.
'ssh user_id@123.123.123.123 "/home/dev/test.sh" '

ssh에 대한 도움말을 보시면 될듯합니다 //