상세 컨텐츠

본문 제목

Ubunut Linux 명령어 rsync 사용법

IT : Ubuntu

by 휀스 2013. 1. 12. 23:16

본문



Ubunut Linux 명령어 rsync 사용법


rsync는 원하지 않는 파일이나 폴더를 제외하고 다른 폴더로 복사를 원하는 경우 사용하는 명령어입니다.


android 나 기타 프로그램에서 SCM 프로그램으로 사용되는 git 같은것을 사용할 때 .git .repo 등의 history 관련 파일을 제외하고 복사할 경우 사용됩니다.


rsync의 옵션은 아래와 같습니다.


--exclude : 파일/폴더를 제외하는 역할을 해 준다.

-a : archive mode

-v : verbose

-z : compress file data during the transfer

-t : reserve modification times (복사후 수정시간을 바꾸지 않는다)


아래와 같은 형식으로 사용합니다.

folder1의 .repo .git .gitignore 파일이나 폴더를 제외한 파일 및 폴더를 folder2 로 옮기는 내용 입니다.


$ rsync -avzt --exclude=.repo --exclude=.git --exclude=.gitignore ~/src/folder1/ ~/src/folder2



git 사용시 아래 내용을 script 파일로 저장 후 사용하면 편리합니다.


# $1은 source directory $2 는 target directory


if [ "$2" != "" ]

then

echo "$ mkdir ~/src/$2"

mkdir ~/src/$2

echo "$ rsync -avzt --exclude=.repo --exclude=.git --exclude=.gitignore ~/git/$1/ ~/src/$2"

rsync -avzt --exclude=.repo --exclude=.git --exclude=.gitignore ~/git/$1/ ~/src/$2

else

echo "$ mkdir ~/src/$1"

mkdir ~/src/$1

echo "$ rsync -avzt --exclude=.repo --exclude=.git --exclude=.gitignore ~/git/$1/ ~/src/$1"

rsync -avzt --exclude=.repo --exclude=.git --exclude=.gitignore ~/git/$1/ ~/src/$1

fi

관련글 더보기