Normalmente, windows ignora caso, pero conservas eso. Si sus nombres de archivo cambian de caso, debe ser debido a algún otro programa que no sea rsync, que copió los archivos y modificó el caso durante la copia. Ese programa probablemente esté mal configurado. O si usa un servidor Samba, tal vez eso está mal configurado. Por defecto, Samba también conserva el caso de los nombres de archivo.
Entonces, tal vez pueda resolver el problema de los nombres de archivos que cambian inesperadamente su caso.
Entonces te quedas con " solamente "el problema de la sensibilidad de los filtros a las mayúsculas y minúsculas. Si ese es tu caso y te resistes a aplicar el parche sugerido por Wim, puedes usar clases de caracteres en los filtros.
Es feo y molesto, pero funciona:
--exclude="[Tt][Ee][Mm][Pp]/"
o en un archivo de filtro:
- Temp/
- temp/
- TEMP/
o el más genérico pero ilegible:
- [Tt][Ee][Mm][Pp]/
Si desea automatizar la conversión de los archivos de filtro a esta sintaxis, puede usar este comando perl:
perl -i.bak -pe 's/([a-z])/[\U$1\E$1]/g' your_rsync-filter.txt
Y convertirlo de nuevo a forma legible por humanos con
perl -i.bak -pe 's/ \[ [A-Z] ([a-z]) \] /$1/xg' your_rsync-filter.txt
(Los -i.bak
La opción realiza una copia de seguridad y convierte el archivo en el lugar en lugar de a la salida estándar.
Al menos para los filtros y las opciones de inclusión / exclusión, sería muy bueno tener un indicador que no distinga mayúsculas y minúsculas en rsync. Hasta entonces, las únicas opciones parecen ser el parche o la sintaxis similar a expresión regular.
ignore-case.patch
reside en elrsync-patches-x.y.z.tar.gz
archivo (dondex.y.z
denota el número de versión).No hay una opción específica para hacer que rsync no distinga mayúsculas de minúsculas. Aunque, NTFS conserva el caso por lo que no debería tener mucho problema con él. Por otro lado, los sistemas de archivos FAT tienen más problemas con rsync y se debe evitar esta combinación.
fuente