Unix/Linux scp 와 rsync : 원격파일 전송
원격으로 파일을 전송할 때 scp와 rsync 를 많이 사용한다.
다른 것도 많이 쓰겠지만, 난 저 두개를 쓴다..
우선, scp 와 rsync 의 차이점은 무엇일까?
두개 다 원격 파일 전송이라는 공통점은 있지만 왜 다르게 쓸까?
그 이유는 옵션의 차이도 있겠지만 무엇보다 symbolic link 를 처리하는데 차이가 있다.
scp는 전송하려 하는 파일 중에 symbolic link 가 있다면 링크된 원본파일이 전송된다.
즉, symlink 가 유지 되지 않는다.
그렇다면 scp 와 rsync 의 사용법을 알아보자
scp
scp -[옵션] [보낼파일] [받는서버 계정 아이디]@[받는서버 URL]:[받을 위치 절대 경로]
scp -pr ./send naddru@10.10.10.10:./receive
옵션:
- r = recursive 하위 폴더 포함 모두 복사
- p = preserve 권한및 속성 유지
- C = compression 압축
rsync
rsync -[옵션] [보낼파일] [받을위치]
여기서 보낼 파일 및 받을 위치는 [서버 계정 아이디]@[파일 URL]:[받을 경로] 로 사용 할 수 있다.
rsync -avzP naddru@10.10.10.10.:./send ./receive
옵션:
-v 진행상황을 상세히 보여줌
-r 지정한 디렉토리의 하위 디렉토리까지 재귀적으로 실행
-p 버전속성 보존
-z 데이터압축 전송
-u 추가된 파일만 전송
-b 낡은 파일은 ~가 붙음
-u 새로운 파일을 덮어쓰지 않음
-e ssh(rsh) 전송암호화
출처: http://ra2kstar.tistory.com/175 [초보개발자 이야기.]