Это может звучать странно, но я действительно хочу скопировать только существующих файлов , поэтому эти файлы будут обновлены / переопределены, и любой новый файл не будет добавлен.
Я хочу скопировать файлы с одним расширением. Он хорошо работает с этой строкой сценария:
rsync -avm --include='*.bak' -f 'hide,! */' /Directory-to-be-backed-up/ /media/USB_stick
Но я также хочу, чтобы файл копировался, только если он уже существует в предназначении (переопределяя его).
Например, у меня есть эти 3 файла в /tmp/a
:
/tmp/a/1.h
/tmp/a/2.h
/tmp/a/internal/3.h
И это 2 файла в /tmp/b
:
/tmp/b/1.h
/tmp/b/internal/3.h
Я хотел бы обновить / переопределить существующие файлы в /tmp/b
используют те же, что в /tmp/a
, но не копируют какой-либо новый файл (например, /tmp/a/2.h
).
Есть ли способ?
Я бы немного переупорядочил вашу команду, сначала убрал бы --include
, а вместо этого просто поместил *.bak
прямо в исходный путь. Затем вы можете добавить --existing
для копирования только существующих файлов.
Один из возможных способов сделать это (не проверено):
rsync -avm --existing /Directory-to-be-backed-up/*.bak /media/USB_stick