Відповіді:
Ви можете надіслати вихід знаходження в rsync, скориставшись одним із варіантів, наведених нижче.
Ці два варіанти дуже схожі, вони обидва припускають, що ви змінюєте каталоги на якесь місце, а потім виконуєте find
команду звідти.
$ rsync -avz --remove-sent-files \
--files-from=<(find ./ -mtime +14 -size +10k) ./ /dest
Ви також можете використовувати трубу для подачі списку в:
$ find ./ -mtime +14 -size +10k -print0 \
| rsync -av --files-from=- --from0 ./ /dest
Цей метод можна запустити з будь-якого місця.
$ find /src/dir/ -mtime +14 -size +10k -printf %P\\0 \
| rsync --files-from=- --from0 /src/dir/ /dst/dir/
printf %P
: Ім'я файлу з назвою аргументу командного рядка, під яким його було знайдено видалено. Таким чином, ви можете використовувати будь-який каталог src, не потрібно спочатку вводити CD у свій каталог src.