Rsync only files with particular extension

"What you need is indeed a combination of --include and --exclude arguments. For example the following will replicate only mp3 files in a directory named source, or any of its subdirectories, to a directory named target:"

rsync -a --include '*/' --include '*.mp3' --exclude '*' source/ target/
This will (1) include any directory or subdirectory, whatever its contents, (2) include all files with an mp3 extension, and (3) exclude all other files. Any number of other file types can be included by adding their one include pattern for each before the --exclude, e.g. --include '*.bmp'.
Taken from:

Internal References

Article Type