2012년 6월 4일 월요일

리눅스 Linux scp rsync 의 사용 정리

리눅스 Linux 에서 서버간 파일 복사 scp 를 많이 사용한다.
윈도우 처럼 GUI 환경이 아닌 이상, 커맨드 라인에서 복사를 하려면 scp 가 가장 편하다.
하지만 여기서 문제가 하나가 있다.

$ scp -r {local} ID@server:/home/ID/파일
. 위치에 있는 모든 파일 및 서버를 ID@server 의 /home/ID/파일 위치로 복사한다.
원본 파일이 있는 부분에 심볼링 링크가 있다면,
이 심볼링 링크가 가르키는 모든 파일 및 폴더를 복사하게 된다.

여기서 문제가 된다면,
심볼링 링크 안에 또 심볼링 링크가 있다면, 이것 또한 모두 scp 는 복사를 하게 된다.

처음 원본 파일 위치의 용량이 1G 라면,
ID@server 위치로 복사될 때는 역시 1G 가 된다.
하지만 원본 파일 위치에 심볼링 링크가 있다면, 이것 또한 복사가 되기 때문에,
복사를 받게 되는 위치의 폴더에는 1G+@ 가 될 수 있다.

이 심볼링 링크가 많이 포함된 것이라면 더욱 사용하기 힘들다.
여기서 사용하기 편한 rsync 명령어를 사용할 수 있다.

$ rsync -avzu -e ssh {local} {remote}
ssh 를 사용하기 때문에, ssh ID/PW 가 필요하다.

{local} 안에 심볼링 링크가 있다면, 심볼링 링크 그대로 복사가 진행된다.
이것은 직접 해보고 봐야 알기 때문에..
직접 해보시라.

참고 URL
http://blog.1day1.org/424

댓글 없음:

댓글 쓰기