You're using --exclude (which expects a pattern) rather than --exclude-from (which reads fromexpects the name of a file containing patterns).
You also do not need -r (--recursive) with -a (--archive) as -a enables recursive syncing. In fact, -a is the same as -rlptgoD according to the manual.