Rsync
(Rsyncd에서 넘어옴)
데몬모드(rsyncd)[편집 | 원본 편집]
[section]
comment = comment
path = path
uid = uid
# root도 지정가능
gid = gid
# / 경로를 사용하지 여부
use chroot = yes
read only = no
hosts allow = 아이피주소(192.168.0.1/24 127.0.0.1/8)
max connections = 5
timeout = 60
서비스 유닛에 정의된대로 /etc/rsyncd.conf 파일이 없으면 서비스가 시작되지 않는다.
$ sudo systemctl start rsync.service
명령모드(rsync)[편집 | 원본 편집]
SRC 디렉토리 생성여부[편집 | 원본 편집]
src path 끝에 / 가 있거나 . 이면 목적지에 src 디렉토리를 생성하지 않고 src디렉토리 내부만 복사한다.
$ rsync src/ dest $ tree dest ├── dir └── file
$ rsync src dest $ tree dest dest ├── dir └── file
옵션[편집 | 원본 편집]
-z, --compress compress file data during the transfer
--progress show progress during transfer
-a, --archive equals -rlptgoD
-r : 재귀 복사 -t : 타입스탬프 보존 -l : 파일이나 디렉토리의 심볼릭 링크 보존 -p : 권한 보존 -g : 그룹 보존 -o : 소유자 보존 - root 만 가능하다. -D : device 파일이나 special 파일 보존
-A, --perms 퍼미션을 유지한다. 기본옵션이다. 다른 유저로 실행할 때 의미가 있을 듯.
-x, --one-file-system 저장파일을 만들 때 로컬파일시스템 안에 작성
에러[편집 | 원본 편집]
rsync: failed to set times on[편집 | 원본 편집]
원인: 파일의 접근시간, 수정시간을 변경하는데(비어 있는 경우 현재시간을 기록한다.) 적절한 권한이 없어서 발생한다.