I am trying to run a simple command that searches for a dedicated file type and once found copy's that file and directory structure to a remote server. 

For example:
``` 
find Source/ -name *.CR2 | xargs -d '\n' cp --parents -t /STORAGE/location/ 
```

In this case it takes the found file and copy's it to a separate directory with the parent folder structure. 
I would like to do this same thing with either rsync or scp. 

I have tried some altercations to the code below but had no luck.
```
find /src/dir/ -name *.CR2 -printf %P\\0 \ | rsync -av -e ssh --files-from=- --from0 /src/dir/ remote@server:/Storage/
```

Any assistance would be appreciated. 

I am in the process of sorting years of family photos and instead of finding them in one directory on my zfs array and rewriting them to another location on the same array (which eats up time) I instead want to find them and send them to a separate machine where they will be sorted by type, run through ```fdupes```, then run through ```phockup``` to sort them by date. I am doing it this way in case I screw up, I'll have the orig files safe and sound.