반응형
728x170
Remote SYNC 의 약자
역할
전송 시에 네트워크 대역폭을 최소화하는 delta encoding algorithm 구현으로 rcp 또는 scp 보다 훨씬 빠르고 효율적으로 데이터를 동기화함
용도
- rcp, scp를 대체
- Remote Site mirroring
- data backup
관련 파일
/etc/rsyncd.conf
예시
[svc_name]
path = /user/{path}
uid = admin
gid = admin
read only = no
use chroot = yes
hosts allow = *
max connections = 30
timeout = 600
=> [QA_rsync] : 사용할 rsync 서비스 이름
=> path : source 경로
=> uid, gid : 권한 사용자, 권한 그룹
=> read only : file의 권한 설정
=> use chroot : change root => root 디렉토리 변경 (default : yes)
=> hosts allow : 접근 허용할 IP 또는 네트워크 segment *(any) (default : * )
=> max connections : (default : 0)
=> timeout : 해당 시간 동안 파일 전송이 없으면 바로 exit (default : 0 => never time out)
포맷
rsync {options} {source} {destination}
예시 directory
$ tree test
test
├── dir1
└── dir2
기본 동작
$ rsync -a test test_dest
$ tree test_dest/
test_dest/
└── test
├── dir1
└── dir2
source 에 '/ '를 추가하면 destination에 폴더 생성 없이 복사
(폴더 내용만 복사)
$ rsync -a test/ test_dest
$ tree test_dest/
test_dest/
├── dir1
└── dir2
Remote의 일부 directory만 local로 copy하는 경우
아래의 예시에서는 dir1, dir3만 copy
$ tree ../src/
../src/
├── dir1
│ └── file1
├── dir2
│ └── file2
└── dir3
└── file3
$ cd src
$ for i in dir1 dir3; do rsync -avz lesstif@example.com:$PWD/$i/ /home/lesstif/backup/$i;done
destination 파일이 수정되었을 경우 source 파일이 기본적으로 덮어쓰기를 함, 덮어쓰기를 하지 않는 경우
-u 옵션을 추가시킬 경우, 파일이 변경되었다면 덮어쓰지 않음
$ rsync -avuz lesstif@example.com:/home/lesstif/data /home/lesstif/backup/
특정 확장자만 전송
아래는 .pdf로 끝나는 확장자만 전송함
include 에 모든 파일을 의미하는 * 를 써주고 그 다음에 전송할 파일 종류(--include=*.pdf) 를 적어준 후에
마지막에 --exclude=* 로 모든 파일을 제외해주면 의도한 대로 동작
$ rsync -zarv --prune-empty-dirs --include="*/" --include="*.pdf" --exclude="*" "$from" "$to"
옵션
Option | 내용 |
-r | 하위 디렉터리까지 실행(recursive) |
-l | 심볼릭 링크 보존 |
-L | 심볼릭 링크가 가리키는 파일 복사 |
-p | 권한 보존 |
-t | 타임스탬프 보존 |
-g | 그룹 소유권 보존 |
-o | 소유권 보존 |
-H | 하드링크 보존 |
-v | 진행 상황 출력 |
-u | 업데이트된 내용만 전송 |
-z | 전송할 때 압축 |
-b | 백업 시, 동일한 파일 존재하면 ~붙여서 생성 |
-a | rlptgoD를 한 번에 실행할 때 사용( --archive), archive mode |
--progress | 파일이 전송되는 동안 전송 상황정보 출력( -monitor 비슷) |
-h | human-readable, 사람이 읽을 수 있는 output number로 만듦 |
참고 링크
https://docs.rockylinux.org/books/learning_rsync/04_rsync_configure/
https://linuxhint.com/linux-journalctl-command/
https://www.lesstif.com/system-admin/rsync-data-backup-12943658.html
728x90
반응형
그리드형
'SRE > Linux Basics' 카테고리의 다른 글
tar (0) | 2022.12.02 |
---|---|
grep(작성 중) (0) | 2022.12.02 |
cron, 크론탭 (0) | 2022.12.02 |
cut, 문자열 자르기 (0) | 2022.12.02 |
Linux 환경에서 init을 대신한 프로세스, systemd (0) | 2022.11.18 |