How do I exclude from rsync all directories which contain word "cache", case insensitive?
rsync doesn’t have a builtin case insensitive exclude option, so you have to create regex pattern that explicitly matches upper and lower case letters of the string.
For your cacse, you can use this command
rsync -avzh --exclude '*/[cC][aA][cC][hH][eE]*/*' source/ destination/
Or refer to this article Make rsync case insensitive to using other option to achieve it.