回答:
以下に概説するオプションのいずれかを使用して、findの出力をrsyncに送信できます。
これらの2つのオプションは非常に似ており、どちらもディレクトリをある場所に変更し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ディレクトリを使用することができます。最初にsrcディレクトリにcdする必要はありません。