숀패밀리

많은 서버관리할때 동일작업 반복하기~ SSHinPHP

· 2011-08-03 (수) 14:45:24 · 2434
많은 서버를 관리할때 일일이 ssh접속해서 명령어치고 빠지고 하기 귀찮을때 쓰면 좋습니다
요거는 ssh2 는 지원안됍니당 ~
실행파일은 php로 작업의도에 맞게 응용하시면 됩니다 아래는 기본샘플입니당~
<?
require_once ('test_db.php'); //디비 커넥션
require_once ('ssh_in_php.php');

$db = new TestDB;

$cmd=null;
set_time_limit(0);

$qry = "select * from ip_table"; //루프돌리는 방법은 개인스탈에 따라~
$db->query($qry);

while($db->next_record())
{


try
{



$host = 아이피;
$port = 포트번호;
$user = 계정아이디;
$password = 계정패스워드;
$su = 루트패스워드;

$ssh = null;
$ssh = new SSH_in_PHP($host,$port);
$ssh->connect($user,$password);

$ssh->write("su -\n\n");
$cycle = true;
$result="";
while ($cycle) {
$data = $ssh->read();
echo $data;
if (ereg('\]$',$data)) {
// $cycle = false;
}
if (ereg('\]#',$data)) {
$cycle = false;
}

if (ereg('Password:',$data)) {
$cycle = true;
$ssh->write($su."\n");
}
if (ereg('암호:',$data)) {
$cycle = true;
$ssh->write($su."\n");
}

}


$ssh->write(" \n");
$cycle = true;
$result="";
while ($cycle) {
$data = $ssh->read();
echo $data;
if (ereg('\]$',$data)) {
// $cycle = false;
}
if (ereg('\]#',$data)) {
$cycle = false;
}

if (ereg('Password:',$data)) {
$cycle = true;
$ssh->write($su."\n");
}
if (ereg('암호:',$data)) {
$cycle = true;
$ssh->write($su."\n");
}
}

//각 서버에 test폴더 만들기
$comm=null;
$comm[]="mkdir -p /home/test \n";

for($c=0;$c<sizeof($comm);$c++)
{
$ssh->write($comm[$c]);
$cycle = true;
$result="";
while ($cycle) {
$data = $ssh->read();
echo $data;
if (ereg('\]$',$data)) {
$cycle = false;
}
if (ereg('\]#',$data)) {
$cycle = false;
}

if (ereg('yes',$data)) {
$cycle = true;
//sleep(1);
$ssh->write("Yes\n");
}

if (ereg('password:',$data)) {
$cycle = true;
$ssh->write("계정패스워드\n");
}
if (ereg('암호:',$data)) {
$cycle = true;
$ssh->write("계정패스워드\n");
}



}


$ssh->write(" \n");
$cycle = true;
$result="";
while ($cycle) {
$data = $ssh->read();
echo $data;
if (ereg('\]$',$data)) {
$cycle = false;
}
if (ereg('\]#',$data)) {
$cycle = false;
}

if (ereg('yes',$data)) {
$cycle = true;
//sleep(1);
$ssh->write("Yes\n");
}

if (ereg('password:',$data)) {
$cycle = true;
$ssh->write("계정패스워드\n");
}
if (ereg('암호:',$data)) {
$cycle = true;
$ssh->write("계정패스워드\n");
}



}
}


$ssh->disconnect();
continue;

}
catch (SSHException $e)
{
echo "에구 이서버는 잘안돼네여~";
echo "\n";
$fail_ip[]=$ip;
}


}

var_dump($fail_ip);

?><div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:32:05 Linux에서 이동 됨]</div>

첨부파일

ssh_in_php.zip (7.4 KB) 11회 2011-08-03 14:45
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
12-01-22 조회 3,625
12-01-21 조회 2,985
12-01-19 조회 4,840
12-01-18 조회 2,855
12-01-18 조회 2,812
12-01-18 조회 3,014
12-01-17 조회 2,793
12-01-17 조회 3,060
12-01-14 조회 1.1만
12-01-14 조회 3,594
12-01-14 조회 3,908
12-01-11 조회 3,357
12-01-11 조회 3,089
12-01-11 조회 3,093
12-01-11 조회 3,206
12-01-11 조회 3,421
12-01-11 조회 2,729
12-01-10 조회 3,044
12-01-10 조회 2,826
12-01-10 조회 2,853
12-01-09 조회 2,852
12-01-08 조회 2,948
12-01-07 조회 2,903
12-01-06 조회 2,662
12-01-06 조회 2,787
12-01-05 조회 2,788
12-01-02 조회 2,934
11-12-29 조회 2,910
11-12-28 조회 2,891
11-12-28 조회 2,810
11-12-27 조회 3,021
11-12-23 조회 2,760
11-12-23 조회 2,900
11-12-21 조회 3,892
11-12-21 조회 2,935
11-12-19 조회 2,847
11-12-14 조회 4,258
11-12-08 조회 3,396
11-12-08 조회 4,064
11-12-07 조회 4,341
11-12-06 조회 4,247
11-12-06 조회 3,626
11-12-05 조회 3,267
11-12-05 조회 4,861
11-12-04 조회 3,265
11-12-03 조회 3,572
11-12-02 조회 3,487
11-12-02 조회 3,477
11-12-02 조회 2,808
11-12-01 조회 2,788
11-12-01 조회 3,688
11-12-01 조회 2,771
11-11-29 조회 5,644
11-11-23 조회 3,581
11-11-23 조회 3,933
11-11-22 조회 3,906
11-11-22 조회 2,971
11-11-21 조회 3,501
11-11-21 조회 2,801
11-11-18 조회 3,902
11-11-18 조회 3,050
11-11-17 조회 2,944
11-11-17 조회 2,954
11-11-17 조회 4,526
11-11-11 조회 2,818
11-11-11 조회 2,809
11-11-11 조회 3,943
11-11-11 조회 4,646
11-11-08 조회 2,929
11-11-06 조회 3,372
11-11-06 조회 3,678
11-10-21 조회 2,476
11-10-21 조회 2,377
11-10-19 조회 2,445
11-10-19 조회 3,955
11-10-08 조회 2,489
11-10-06 조회 4,176
11-10-01 조회 2,593
11-09-30 조회 2,562
11-09-29 조회 2,559
11-09-26 조회 2,419
11-09-23 조회 2,418
11-09-23 조회 2,181
11-09-22 조회 2,767
11-09-09 조회 3,072
11-08-30 조회 4,043
11-08-23 조회 2,207
11-08-12 조회 2,378
11-08-04 조회 3,963
11-07-01 조회 2,941
11-06-09 조회 2,579
11-05-17 조회 2,695
11-05-07 조회 2,957
11-04-21 조회 2,630
11-04-12 조회 2,489
11-04-11 조회 3,583
11-02-11 조회 2,710
11-02-08 조회 2,181
11-01-11 조회 2,549
10-11-26 조회 3,893