Можно ли использовать rsync для копирования файлов только в одном направлении?
Например, предположим, что у нас есть:
left/a.txt
right/a.txt
где файлы изначально идентичны.
Если затем изменить right/a.txt
, затем:
rsync -avv left/ right/
скопирую right/a.txt
на left/a.txt
.
Можно ли ограничить rsync копированием только из left/
к right/
(т.е. запретить копирование с right/
к left/
)?
Вы неправильно понимаете rsync. Эта команда:
rsync -avv left/ right/
не будет ничего синхронизировать справа налево. Как говорит @atbg, он будет синхронизироваться только слева направо. Rsync не является двунаправленным синхронизатором. Он синхронизирует назначение с источником.
Справочная страница: http://linux.die.net/man/1/rsync
Так должно быть 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
.