728x90
반응형
소개
rsync는 Remote Sync의 약자로 여러가지 옵션을 이용해 원격 또는 로컬에 파일을 전송하는 툴이다.
rsync remote-update protocol을 이용하여 로컬과 원격 디렉토리 모두 동기화함.
사용법
rsync [options ...] [source] [target]
옵션
- -v : verbose를 높이는 옵션으로 복사하는 과정을 더 자세하게 보여줌
- -z : compress를 주는 옵션으로 파일을 복사할 때 압축해서 복사
- -h : 사람이 읽기 쉬운 형태로 복사 결과들을 출력해줌
- -r : 재귀적으로 하위 디렉터리까지 복사(전송시 타임스탬프나 permission을 보존하지 않음)
- -l : symlink형태로 복사하는 옵션
- -p : 파일과 디렉토리들의 권한을 유지하는 옵션
- -t : 수정시간을 유지하는 옵션
- -g : 그룹 속성을 유지하는 옵션
- -o : 소유자 속성을 유지하는 옵션
- -D (same as --devices --specials) : --devices --specials)의 옵션과 같음
- --devices : root 권한이 필요하며 Device 관련된 파일들을 복사해서 생성해줌
- --specials : named socket이나 fifo와 같은 특수한 파일들도 복사하는 옵션
- -a (same as -rlptgoD) : archive 모드. -r, -t, -l, -p, -g, -o, -D과 동일
=> 보통 rsync -az 옵션을 주로 사용
예제
원격 파일, 디렉토리 복사
# local -> remote
# rsync [FileName or DirectoryName] [User]@[IP Address or host]:[Path]
rsync -az test.txt corn@test.com:/home/corn/backup/test.txt
# remote -> local
# rsync [User]@[IP Address]:[Path] [FileName or DirectoryName]
rsync -az corn@test.com:/home/cor/test.txt test.txt
path에 slash가 포함되어 있는 경우와 없는 경우
# source_directory를 통째로 복사하여, destination_directory에 넣음
rsync -az source_directory destination_directory
# source_directory폴더 내에 있는 모든 파일들을, destination_directory에 넣음
rsync -az source_directory/ destination_directory
source나 destination 둘 중 하나는 반드시 로컬 파일이어야한다. 원격지 간의 복사는 지원되지 않는다.
728x90
반응형
'프로그래밍 노트 > Linux' 카테고리의 다른 글
리눅스 파일 검색(find) (0) | 2020.02.10 |
---|---|
I/O 리다이렉션 (입출력 방향 지정) (0) | 2020.02.10 |
쉘스크립트 흐름제어 (if, while, case) (0) | 2019.12.12 |
쉘 스크립트란? (0) | 2019.12.12 |
쉘스크립트 if 조건 종류 (0) | 2019.12.09 |