rsync: chỉ truyền tệp theo một hướng


21

Có thể chỉ sử dụng rsync để sao chép tệp theo một hướng không?

Ví dụ: giả sử chúng ta có:

left/a.txt

right/a.txt

trong đó các tập tin ban đầu giống hệt nhau.

Nếu một sau đó sửa đổi right/a.txt, sau đó:

rsync -avv left/ right/

sẽ sao chép right/a.txtvào left/a.txt.

Là nó có thể để hạn chế rsync để chỉ sao chép từ left/để right/(tức là ngăn chặn nó sao chép từ right/để left/)?

Câu trả lời:


33

Bạn hiểu nhầm rsync. Lệnh này:

rsync -avv left/ right/ 

sẽ không đồng bộ bất cứ thứ gì từ phải sang trái. Nó sẽ, như @atbg nói, chỉ đồng bộ từ trái sang phải. Rsync không phải là một bộ đồng bộ hai chiều. Nó đồng bộ số phận với nguồn.

Trang con người để tham khảo: http://linux.die.net/man/1/rsync


Điều thú vị là khi hoạt động ít nhất là phiên bản Mac của rsync để thư mục từ xa đồng bộ hóa thông qua ssh đó là hai chiều - ví dụrsync -avzz -e "ssh -p 2222" /source/ /target/
geotheory

4

Nó sẽ rsync [OPTION...] SRC... [DEST]hoạt động theo hướng đó (trừ khi bạn chuyển Dest và src).

left/a.txtnên được sao chép vào 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

Nếu có các tệp cụ thể mà bạn không muốn bao gồm bởi rsync, hãy xem --exclude=PATTERN--exclude-from=FILE.


2
Và hãy nhớ rằng, khi nghi ngờ, --dry-runtùy chọn sẽ hiển thị cho bạn một danh sách các tệp sẽ được chuyển nhưng không thực sự thực hiện chuyển. Tôi thêm điều này vào đầu mỗi lần rsyncnhư một biện pháp phòng ngừa, ngay cả khi tôi chắc chắn lệnh này là chính xác.
slillibri

1
Do sự nhầm lẫn về hoạt động của rsync, có lẽ đáng chú ý là --updatetùy chọn của rsync , sẽ bỏ qua các tệp (không đồng bộ hóa) có modifiedthời gian gần đây hơn ở phía bên nhận.
Richard Michael
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.