웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
해당 ftp 파일 서버에서 다른곳의 ftp 파일 서버로 백업용도 및 전송하기..
2004.05.30 01:52
안녕하세요
제목이 참 희한하기도 하고, 호기심에 클릭하신분이 많으시라 짐작이 가는군요^^
제가 쓰는것은 php 의 몇몇가지 함수를 이용?으로 A의 ftp 서버내의 파일 따위를 다른 B의 ftp 서버로 로컬을 거치지 않고, A에서 B로 바로 전송하는 것을 보여드리고자 합니다.
이에 대한 응용작을 먼저 말씀드리자면, 다른서버로 전송하게 됨으로써 , 일단 조금더 안전하게 2중으로 백업이 가능하다는점입니다.
소스시작입니다.
<?
$directory ="/home/kowa/public_html/"; // 보내시려는 A 측에 있는 파일이 있는 경로입니다.
$filename = "kowa" . date("ymd") . ".tar.z"; // 파일명으로 적어두셔도 좋지만, 저는 kowa040530.tar.z 씩의 전송이 필요하기에 이렇게 해두었습니다. 참고해주세요
$filename2 = "kowa_mysqldb" . date("ymd") . ".sql"; // 위와 같습니다. db 이동에 필요한것입니다.(이것으로 한번에 2개의 파일전송이 가능합니다. 갯수를 늘려주신다면, 원하시는만큼 가능합니다.
$server_host = "xxx.xxx.xxx.xxx"; //접속해서 A의 파일을 B로 보내고자 하는 B 서버의 ip주소
$server_port = "21"; // 전송받는 B 서버의 ftp port (보통 21입니다.)
$server_id= "ID"; // 전송받을 B 서버의 접속아이디
$server_pw = "PW"; // 전송받을 B 서버의 password
// 원격서버에 연결한다.
if(!($fc = ftp_connect($server_host, $server_port)))
die("$server_host : $server_post - connect failed");
//원격서버에 로그인한다.
if(!ftp_login($fc, $server_id, $server_pw))
die("$server_id - login failed");
//업로드할 폴더로 이동한다.
$server_dir = "www.svkowa.net/"; // 저는 B 측서버의 계정이 svkowa.net 으로 연결되어있어서 이렇게 해두었습니다. 절대경로로 적어주셔야 할 것 같습니다.
ftp_chdir($fc, $server_dir);
//파일을 업로드 한다.
if(!ftp_put($fc, $filename, $directory.$filename, FTP_BINARY))
{
echo" <script name=javascript> window.alert ('제3자의 서버로 전송 하는 데 실패했습니다.'); // 메시지는 마음대로^^
history.go(1) // -1을 하시거나, 1을 하시거나, 없애시거나, 자유이십니다.
</script>";
}
if(!ftp_put($fc, $filename2, $directory.$filename2, FTP_BINARY))
{
echo" <script name=javascript> window.alert ('제3자의 서버로 전송 하는 데 실패했습니다.');
history.go(1)
</script>";
}
//FTP를 닫는다
ftp_quit($fc);
?>
소스 끝
php 의 중간정도의 실력이 있으신분은, 별것도 아니라고 생각하지만,
저에게는 너무나 필요했던 소스였답니다.
사용방법이라면 매우 간단합니다. 위의 php 를 각자 사용하시는 정보에 맞게 수정후 나름대로 임의의 (ex pass.php) 이런씩으로 파일이 있는 A곳에 저장하시면 되겠습니다. 그리고 웹페이지에서 (ex pass.php)를 읽어주시면,(제가 출력구문따위를 넣은게 없으므로^^) 공백이면서 상태표시줄의 파란막대기만이 천천히 움직일것입니다.;;
그리고 이 소스의 원본(phpschool.com)팁 게시판에 있는것을 수정하였습니다.
글을 마치며,, php 에 대해 걸음마 수준이지만,, 조금씩 조금씩 부족한 부분을 채워나갈것입니다.^^
저의 홈페이지는 http://svkowa.net 입니다. 웹친구가 되어주세요^^ 하하.
.^^혹시 잘 안되시는점 있으시다면, 놀러오세요.
제목이 참 희한하기도 하고, 호기심에 클릭하신분이 많으시라 짐작이 가는군요^^
제가 쓰는것은 php 의 몇몇가지 함수를 이용?으로 A의 ftp 서버내의 파일 따위를 다른 B의 ftp 서버로 로컬을 거치지 않고, A에서 B로 바로 전송하는 것을 보여드리고자 합니다.
이에 대한 응용작을 먼저 말씀드리자면, 다른서버로 전송하게 됨으로써 , 일단 조금더 안전하게 2중으로 백업이 가능하다는점입니다.
소스시작입니다.
<?
$directory ="/home/kowa/public_html/"; // 보내시려는 A 측에 있는 파일이 있는 경로입니다.
$filename = "kowa" . date("ymd") . ".tar.z"; // 파일명으로 적어두셔도 좋지만, 저는 kowa040530.tar.z 씩의 전송이 필요하기에 이렇게 해두었습니다. 참고해주세요
$filename2 = "kowa_mysqldb" . date("ymd") . ".sql"; // 위와 같습니다. db 이동에 필요한것입니다.(이것으로 한번에 2개의 파일전송이 가능합니다. 갯수를 늘려주신다면, 원하시는만큼 가능합니다.
$server_host = "xxx.xxx.xxx.xxx"; //접속해서 A의 파일을 B로 보내고자 하는 B 서버의 ip주소
$server_port = "21"; // 전송받는 B 서버의 ftp port (보통 21입니다.)
$server_id= "ID"; // 전송받을 B 서버의 접속아이디
$server_pw = "PW"; // 전송받을 B 서버의 password
// 원격서버에 연결한다.
if(!($fc = ftp_connect($server_host, $server_port)))
die("$server_host : $server_post - connect failed");
//원격서버에 로그인한다.
if(!ftp_login($fc, $server_id, $server_pw))
die("$server_id - login failed");
//업로드할 폴더로 이동한다.
$server_dir = "www.svkowa.net/"; // 저는 B 측서버의 계정이 svkowa.net 으로 연결되어있어서 이렇게 해두었습니다. 절대경로로 적어주셔야 할 것 같습니다.
ftp_chdir($fc, $server_dir);
//파일을 업로드 한다.
if(!ftp_put($fc, $filename, $directory.$filename, FTP_BINARY))
{
echo" <script name=javascript> window.alert ('제3자의 서버로 전송 하는 데 실패했습니다.'); // 메시지는 마음대로^^
history.go(1) // -1을 하시거나, 1을 하시거나, 없애시거나, 자유이십니다.
</script>";
}
if(!ftp_put($fc, $filename2, $directory.$filename2, FTP_BINARY))
{
echo" <script name=javascript> window.alert ('제3자의 서버로 전송 하는 데 실패했습니다.');
history.go(1)
</script>";
}
//FTP를 닫는다
ftp_quit($fc);
?>
소스 끝
php 의 중간정도의 실력이 있으신분은, 별것도 아니라고 생각하지만,
저에게는 너무나 필요했던 소스였답니다.
사용방법이라면 매우 간단합니다. 위의 php 를 각자 사용하시는 정보에 맞게 수정후 나름대로 임의의 (ex pass.php) 이런씩으로 파일이 있는 A곳에 저장하시면 되겠습니다. 그리고 웹페이지에서 (ex pass.php)를 읽어주시면,(제가 출력구문따위를 넣은게 없으므로^^) 공백이면서 상태표시줄의 파란막대기만이 천천히 움직일것입니다.;;
그리고 이 소스의 원본(phpschool.com)팁 게시판에 있는것을 수정하였습니다.
글을 마치며,, php 에 대해 걸음마 수준이지만,, 조금씩 조금씩 부족한 부분을 채워나갈것입니다.^^
저의 홈페이지는 http://svkowa.net 입니다. 웹친구가 되어주세요^^ 하하.
.^^혹시 잘 안되시는점 있으시다면, 놀러오세요.
댓글 9
제목 | 글쓴이 | 날짜 |
---|---|---|
초간단 스팸방지 하면서 곧바로 메일 보내기 [3] | U2em | 2004.05.31 |
해당 ftp 파일 서버에서 다른곳의 ftp 파일 서버로 백업용도 및 전송하기.. [9] | 김동욱 | 2004.05.30 |
초간단 설문조사 소스 [3] | 이혁 | 2004.05.27 |
PHP로 구현하는 음악 감상실 [9] | 컴도미 | 2004.05.21 |
[국밥PHP] 1-1(1). 개념정리 Break Time (Build 1) [7] | 9000㎒ | 2004.05.18 |
팁 아닌 팁 한달전... | http://zentoo.com | 2004.05.15 |
포털사이트 처럼 시스템 점검중 만들기 [3] | http://zentoo.com | 2004.05.14 |
PHP 4에서 PHP 5로 이행 [5] | 이종현 | 2004.04.30 |
PHP5 RC2 Released. [4] | 써니루루☆ | 2004.04.27 |
트랙백 구현하기 - 2. 트랙백의 형식 | TheMics | 2004.04.22 |
트랙백 구현하기 - 2. 트랙백의 형식 | TheMics | 2004.04.22 |
엔지오 채널 따라하기 -_-& www자동 붙이기 [6] | 박종찬 | 2004.04.18 |
트랙백 구현하기 - 1. 트랙백이란 무엇인가? [4] | TheMics | 2004.04.18 |
[국에 밥말아먹는 PHP 프로그래밍] 1-1. PHP는 뭐하는 밥이냐?! (상) (Build 2) [17] | 9000㎒ | 2004.04.18 |
배열의 정렬에 대한 약간의 강의 [2] | ♡다솜지기♡ | 2004.04.02 |
드디어 PHP 5 RC1 발표(04.03.18) [8] | 써니루루☆ | 2004.03.19 |
PHP와 MYSQL연동 관련함수 [3] | 백무혼 | 2004.03.07 |
함수] Exec 함수에 대한 간략한 설명 [3] | NS | 2004.03.05 |
초간단 인라이브 방송여부 알아보기 프로그램. [12] | 심심타 | 2004.03.01 |
[허접팁]윈엠프 리스트창에 방송정보 보여주기;;[수정] [5] | 『처니리♂』 | 2004.02.29 |