서버호스팅, 코로케이션, 매니지드호스팅, IDC, 도메인, 웹호스팅 - KOREA IDC
KOREA IDC 바로가기 차이나 다이렉트 기업망 바로가기
 
  • 원격제어
  • 서버관리
  • 매니지먼트
  • 원격
  • 서버
    관리
  • 매니지
    먼트

rsync 및 scp 사용법 과 활용방법 34237
2015/01/29 01:57:24
 리눅스 에서 다량의 파일들을 전송/수신하고, 데이터 증분치에 대한 반영을 할 수 있는 가장 좋은 방법은 rsync가 가장 적합하다고 생각 합니다

(상황에 따라 데이터를 옮기는 종류로 데이터가 용량이 작을경우 scp 명령어를 사용하는 것도 좋습니다)

기본적으로 rsync의 서버 옵션 과 설에 대해서 알아보려고 합니


rsync에 옵션에 대해서 알아보겠습니다 (주로 사용하는 옵션들을 나열해 놓았습니다)


-v --verbose         상세하게 출력하기 
-q --quiet             
에러 및 기타 어떠한 메시지도 출력 하지 말것
-a --archive         
아카이브 보드로 가져오기(퍼미션 소유주 및 위치까지 그대로 가져온다.) 
-r --recursive     
하위 구조의 디렉토리 모두 재귀적으로 가져온다i.
-z --compress   
압축하여 전송하기 
 --delete     
동기화시 소스 파일의 위치에 존재 하지 않는 파일을 삭제한다.
 --exclude=patten 
해당 패턴을 가진 파일이나 디렉토리를 동기화시 제외한다.  
 --include=patten  
해당 패턴을 가진 파일이나 디렉토리를 동기화시 포함시킨다


* --delete 옵션은 주의 하셔서 사용해야 합니다

--delete 옵션에 대해 아래에 설명을 드릴 것입니다

 

 

rsync –[옵션] [보낼파일] [받을위치]

)

 

 

여기에서 rsync av /etc <- /etc/ 차이 점이 있습니다

/etc <- etc에 폴더 자체를 하위단위에 폴더 및 파일 들까지 전부 가지고 오게 됩니다

/etc/ <- etc 폴더 안에 있는 폴더 및 파일들만 가지고 오게 됩니다

이 부분 신중이 하셔야 합니다 번거로운 일이 없도록 꼭 알아 두는 게 좋겠습니다


상세한 사용법에 대해서는 잠시 뒤에서 확인 할 것이며

우선 서버에 대한 설정 과 기본적인 rsync 에 대한 파악부터 진행하겠습니다


rsync 서버 설정 1. rysnc 패키지 확인

 

 

설치가 되어 있지 않을 경우에는


#yum install rsync (설치를 해주어야 합니다)

 

rsync 서버 설정 2. xinetd 패키지 확인

 

#yum install xinetd (설치를 해주어야 합니다)

 

rsync 서버 설정 3. rsync 환경 설정


#vi /etc/xinetd.d/rsync


<disable=yes 라고 되어있는 부분을 no 로 변경해준다>

기본으로 rsync 환경설정에서 no 변경을 안해주면 적용이 안되게 됩니다

 

 

rsync 서버 설정 4. rsync 환경 설정 2


#vi /etc/rsyncd.conf


/etc/rsyncd.conf 파일 의 경우 처음에는 없을 것 입니다 vi 편집기를 이용하여 새로 작성해 주어야합니다

 

 

uid=root <- 권한 사용자

gid=root <- 권한 그룹

use chroot=yes <- path 경로에서 상위경로로 올라가지 못하도록 막는 보안 설정이라고 보시면 됩니다

read only=yes <- rsync에서 쓰기 권한을 막는 보안 적인 부분이라고 보시면 됩니다

hosts allow=127.0.0.1 <- rsync 클라이언트 또는 허용할 클라이언트 ip

max connection=100 <- 최대 연결수

timeout <- timeout


방화벽 확인

rsync873 포트를 사용하면서 873포트를 iptables에서 열어주어야 합니다


* rsync 설치 과정은 마치고 사용법에 대해 알아보겠습니다

기본적으로 rsync는 로컬방식으로 사용이 가능하고 또 한 원격으로 가지고 올 수도 있습니다


로컬방식으로는 간단합니다


우선 /free/home 라는 경로가 있고 /free/home1 라는 경로가 있습니다

/free/home 이라는 경로에 파일들을 /free/home1 라는 경로에 옮겨 보겠습니다

 

===============================================================

 

위에도 작성했던 말 중에 /free/home/, /free/home에 차이가 있다고 말씀 드렸습니다 참고하여주세요

 

 

이렇게 옮기게 될 수 있습니다 정말 간단합니다

그렇다면 원격 rsync에 대한 사용법을 알려드리겠습니다


우선 원격으로 데이터를 가져오시려면 상대방 rsync 환경 설정에 들어가서

hosts allow=218.145.31.16 <- 저의 해당 아이피를 허용해주어야 합니다

그런 다음 별칭을 하나 만들어주고 경로를 데이터를 가져올 경로를 지정해주면됩니다

 

 

 

그리고 나서 방화벽에서 저의 해당 아이피를 추가하여 허용해 주어야 합니다


준비가 다되셨으면 이제 데이터를 옮기는 작업을 진행해보겠습니다

 

 

그림에서 보시면 저의ip(218.145.31.16) 저의 해당 아이피에 원격으로 데이터를 218.145.31.26 서버에서 가지고 오는 것을 보실 수 있습니다

rsync에서 항상 방화벽 설정 과 환경설정,포트확인을 정확히 확인하시고 사용하신다면 오류에 대한 걱정은 없으실겁니다


한가지 더 rsync 옵션중 --delete 옵션에 대해서도 알아 보겠습니다


그냥 rsync로 가져올 때 동기화 방식은 같으나 변경된 것들만 동기화 하는 반면에 --delete 옵션은 가져오는 폴더내에 변경이 된건지 안된건지 무시하고 가져오려는 폴더내에 파일들로 싹다 변경되어 가져오게 됩니다

그림으로 확인해 보겠습니다

 

 

그림으로 보시다시피 /free/home 경로에 파일안에 내용을 출력하였습니다

 

 

그리고 /free/home1 <- 폴더를 생성하여 똑 같은 파일을 만들고 그 안에 내용은 다른 걸로 작성하였습니다

 

 

그냥 rsync로 가져 왔을 경우에는 /free/home1 폴더안에 있는 index.html 내용으로 변경되신걸 보실 수 있습니다

만약 /free/home1 폴더 안에 index.html 같은 파일 이름이 아니고 index.php 라는 이름이라면 /free/home 폴더에 index.php 라는 파일만 추가 되게 됩니다 그러나 지금은 같은 이름일 경우에는 파일 내용이 변경 되신걸 보여드리고 있습니다 ( 이 부분도 신경 쓰셔서 작업하시면 좋습니다)

old 파일도 그대로 있는 것도 보이시구요

 

 

하지만 --delete 옵션을 사용 했을 경우를 보시면 old 파일은 사라졌고 /free/home1 에 있는 파일만 가지고 동기화 시켜버렸습니다.. 결국 --delete 옵션은 해당 폴더 안에 있는 내용으로 전부 동기화 시켜버립니다

--delete 옵션은 어떻게 쓰냐에 따라 편하게 작업을 진행할 수 있지만 잘못 사용한다면 끔찍한 결과를 보실 수 도있습니다 꼭 rsync 사용하실 경우에는 꼭 한번 더 생각하시고 작업을 해주시면 좋을 것 같습니다



scp에 대한 옵션 과 설정 및 방법을 알아 보겠습니다


설치 방법부터 알아볼가요 기본 적으로 설치가 안되어 잇을 경우에는

# yum install openssh-clients

해주시게 되시면 scp 가 쉽게 설치가 될 것입니다


우선 자주 사용하는 옵션으로는


-P : 포트번호 지정

-p : preserve의 약자로 원본 파일 시간의 수정시간, 사용시간, 권한을 유지한다

-r : recursive의 약자로 하위 폴더/파일 모두 복사한다


사용법


scp <옵션> <원본 경로 및 파일> <복사 받을 곳 경로 및 파일>

(자세히 -> scp -<옵션> <보낼 파일> <받는 서버 계정 아이디>@<받는 서버 url>:<받을 위치 절대 경로>)


)

 

 

scp는 포트 번호를 활용하여 사용도 가능합니다


)

 

 

여기서 중요 옵션 중에 –P, -p 옵션은 차이점이 있습니다 꼭 대문자 소문자 구분하셔서 사용해 주시기 바랍니다

scp 옵션 –v 에 대해서 도 그림으로 보겠습니다(진행사항을 상세히 보여주는 옵션입니다)

 

 

이번에는 scp로 여러 파일 들을 한번에 옮기는 방법에 대해 확인해보겠습니다

 

 

이해하기 쉽도록 그림으로 먼저 보여드리겠습니다

 

 

그림에서 보시면 /free/home 경로에는 이미지 파일들이 있고

/free/home1 경로에는 index.html 파일이있습니다

다른경로에 있는 이미지 및 파일을 한번에 옮겨보겠습니다

 

 

그림에서 확인 해보면 /backup 이라는 폴더안에 서로 다른 경로에 있는 파일들을 한번에 옮겨지는 걸 보실 수 있습니다

 

지금까지 보셧던 scp에 대한 사용법에서

scp는 안전하면서 작은 용량의 파일들을 손쉽게 옮길 수 있다는 장점과 단점으로는 큰 용량의 파일들은 긴 시간을 두고 옮겨야 한다는 것에 있습니다 강조 드리지만 파일들을 옮길 때에는 항상 파일에 대한 용량을 확인 하고 거기에 맞게 명령어를 사용하여 작업을 하신다면 업무 처리 및 증분치에 대한 반영이 효율적 이지 않을까 생각됩니다


 

scp rsync 차이점


1. 대용량의 데이터 일 경우 전송 속도의 차이가 크게 난다

2. 원격 파일 전송 중 scp의 경우 symbolic link 가 있다면 링크된 원본파일이 전송된다 symbolic link 가 유지 되지 않는다

3. scp 원격 파일 전송보다 rsync 데이터 전송에 대해 신중 해야 한


위에도 말했듯이 어떠한 상황에서 어떻게 작업을 할지는 효율에 맞게 사용 하시는게 가장 적합 하다고 생각합니다

 

2015-01-29 01:58:53 에 내용이 수정되었습니다.
  
107 iis 설정 백업/복원, 이전 [0] 2015/05/15 19356
106 컴파일 빠르게 하기 [0] 2015/05/06 13501
rsync 및 scp 사용법 과 활용방법 [0] 2015/01/29 34238
104 프로세스 우선순위를 결정하는 nice(niceness) 와 renice 사용법 [0] 2014/12/01 21387
103 Htop( Linux Process Monitoring )사용법 [0] 2014/11/26 15436
102 (리눅스) volatility를 이용한 메모리 덤프 점검 [0] 2014/04/09 19313
101 nslookup 사용 방법 [0] 2013/12/20 12594
100 apache log rotate [0] 2013/12/13 11912
99 mysql에 입력했던 명령어(history)를 보기 [0] 2013/11/24 20155
98 named 체크 사용방법 [0] 2013/11/22 8742
97 mysql 설치 옵션 , 추천 옵션 정리 [0] 2013/11/20 11487
96 화이트 도메인 (White Domain) 등록 및 확인 방법 [0] kyo0162 2013/11/20 10522
95 Apache의 Worker / Prefork 방식의 차이점과 세팅 방법 [2] 2013/11/06 26333
94 mysql 5.6 설치 메뉴얼 [2] 2013/11/05 13054
93 whois, dig 사용방법 [0] 2013/11/01 8092
맨앞 이전  |1|2|3|4|5|6|7|8|  다음 맨뒤

하단메뉴
(주)인터넷나야나, 서울시 금천구 디지털로9길 99, 1107호(가산동) 전화: 1661-0900, 02-852-4745; 팩스: 02-852-4744
패밀리사이트
회사소개(새창열림) IDC소개 이용약관 개인정보취급방침 이메일무단수집거부 사이트맵 고객센터 인터넷나야나 바로가기(새창열림) 예로 바로가기(새창열림) 내선안내 메일보내기 server@koreaidc.com
워드프레스호스팅