rsync : 한 방향으로 만 파일 전송


21

rsync를 사용하여 파일을 한 방향으로 만 복사 할 수 있습니까?

예를 들어 다음과 같이 가정합니다.

left/a.txt

right/a.txt

파일이 처음 동일한 곳.

그런 다음 하나를 수정 right/a.txt하면 다음이 수행됩니다.

rsync -avv left/ right/

복사됩니다 right/a.txtleft/a.txt.

그것은 단지에서 복사에 rsync를 제한 할 수 있는가 left/right/(즉,에서 복사되는 것을 방지 right/left/)?

답변:


33

당신은 rsync를 오해합니다. 이 명령은

rsync -avv left/ right/ 

오른쪽에서 왼쪽으로 아무것도 동기화하지 않습니다. @atbg가 말했듯이 왼쪽에서 오른쪽으로 만 동기화됩니다. Rsync는 양방향 동기화 장치가 아닙니다. 대상과 원본을 동기화합니다.

참조 용 매뉴얼 페이지 : http://linux.die.net/man/1/rsync


ssh를 통해 동기화 원격 디렉토리에 적어도 rsync와의 Mac 버전을 작동 할 때 흥미롭게도 그것은 양방향 - 예rsync -avzz -e "ssh -p 2222" /source/ /target/
geotheory

4

rsync [OPTION...] SRC... [DEST]dest와 src를 바꾸지 않는 한 그 방향으로 작동 해야합니다 .

left/a.txt에 복사해야합니다 right/a.txt:

$ echo 'left' > left/a.txt
$ echo 'right' > right/a.txt
$ cat left/a.txt && cat right/a.txt
left
right
$ rsync -avv left/ right/
sending incremental file list
delta-transmission disabled for local transfer or --whole-file
a.txt
total: matches=0  hash_hits=0  false_alarms=0 data=5

sent 95 bytes  received 34 bytes  258.00 bytes/sec
total size is 5  speedup is 0.04
$ cat left/a.txt && cat right/a.txt
left
left

특정 파일이있는 경우 당신은 살펴 rsync에 의해 포함하지 않습니다 --exclude=PATTERN--exclude-from=FILE.


2
그리고 의심스러운 경우 --dry-run옵션은 전송되었지만 실제로 전송을 수행하지는 않는 파일 목록을 표시합니다. 나는 rsync명령이 정확하다고 확신하더라도 예방 조치로 모든 시작 부분에 이것을 추가 합니다.
slillibri

1
rsync의 작동에 대한 혼동이 주어지면 rsync의 --update옵션에 주목할 가치가 있습니다 .rsync의 옵션 modified은 수신 측에서 더 최근 시간 을 가진 파일을 건너 뛸 (동기화하지 않음) 것 입니다.
Richard Michael
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.