출처 : http://blog.nice2seeyou.com/mike/235

호스팅 서버를 옮겨야 할 때가 오면 기존 서버에 있는 파일들을 모두 새 서버로 옮겨야 하는데 이게 참 큰 일이죠. 사이트 전체를 tar, gzip 으로 압축해서 여러개의 분할된 압축파일로 만든다음 이파일들을 내 컴퓨터로 다운로드 받은다음, 신규 서버에 다시 업로드, 그리고 나서 해당 디렉토리로 압축을 풀고... 이러다 보면 구 서버와 신규 서버의 계정 아이디가 같지 않을 경우 권한 설정에 또 문제가 생기고... ㅋ_@

scp 로 서버와 서버간에 cp 명령을 쓰듯이 파일을 전송해 보세요.

scp -<옵션> [보낼파일] [받는서버 계정 아이디]@[받는서버 URL]:[받을 위치 절대 경로]

옵션:
     - r  = recursive 하위 폴더 포함 모두 복사
     - p = preserve 권한및 속성 유지
     - C = compression 압축

// 현재 접속되어 있는 서버의 public_html 폴더의 파일을 모두 원격 서버로 전송하기:

$ scp -rpC /home/홍길동/public_html/*  new_id@new_server.com:/home/new_id/public_html


// 현재 접속되어 있는 서버의 경로로 원격 서버의 public_html 폴더의 php 파일 모두 복사 해오기:
$ scp -rpC 구계정ID@old_server.com:~/public_html/*.php  ./



혹시 전송 시간이 길어진다거나 파일전송이 다 끝나기 전에 자리를 떠야할 일이 있을경우에는 nohup 명령과 같이 scp 를 써주면 전송중에 접속을 끊거나 로그아웃 해도 전송이 끊기지 않습니다. scp 명령 끝에 &(엠퍼센드) 를 넣어주는 것도 있겠지요.
$ nohup scp -rpC ./*  원격서버ID@원격서버.com:~/public_html &
위와 같이 하면 지금 경로 및 이하 폴더의 모든 파일들이 원격서버의 "원격서버ID" 계정의 public_html 폴더로 모두 복사 됩니다. 엔터를 치고 나면 바로 커서가 나타나서 로그아웃하거나 터미널 연결을 끊어도 해당 작업이 모두 마치기 전까지 파일전송은 계속 진행됩니다.

오늘 내게 유용했던 것 처럼 누군가에게도 도움이 되었음 하는 생각에 올립니다. ^^;

'리눅스 > 일반' 카테고리의 다른 글

screen 명령어  (0) 2012.10.16
리눅스에서 이전 폴더로 이동하기  (0) 2012.03.30
find 와 grep를 이용한 파일/문자열/디렉터리 찾기 및 치환  (0) 2012.02.02
ANSI color  (0) 2011.12.20
cron 사용법  (0) 2011.12.19
scp 를 이용한 리눅스 서버간 파일 전송  (1) 2011.11.04
Posted by 라판