Otro título sugerido: La lógica detrás del include/exclude de RSYNC, que no es tan obvia.
Otro: Rsync, la puta que te parió rsync.
Vá uno cortito y útil. No tan obvio y medio complejo de encontrar en la primera página de Google a menos que seas hábil Googleador, pero después te comés un garrón de la gran flauta: Como ejecutar Rsync para copiar archivos, pero únicamente determinados tipos de archivo, basando la selección en la extensión que tuvieran. Parece fácil, si.
Para el versado seasoned sysadmin Linuxero está será bastante obvia, no obstante, hoy la tuve que usar de nuevo por vez número mil y no me anduvo a la primera. No me acrodaba específicamente la sintaxis y terminé Googleando. Como siempre que me pasa esto me lo agendo para la posteridad, acá estoy de nuevo, y así se hace:
rsync -av --dry-run --include '*/' --include '*.php' --exclude '*' source/dir/ target/dir/
¿Bastante obvio, no? El de arriba va con un –dry-run para que puedas examinar la salida del comando. Si te resultó satisfactorio y no te mandaste ninguna cagada, sacale el –dry-run para que los archivos se copien efectivamente y si te molesta el output por pantalla, sacale la «v» de verbosity, quedando:
rsync -a --include '*/' --include '*.php' --exclude '*' source/dir/ target/dir/
¿Te sirvió? Pagame un café.