Mesmo sem listas de exclusão, rsync $FILES remote@host:$FILES
não funcionaria: ela expande para rsync /home/user1/log1 /home/user1/rightlog remote@host:/home/user1/log1 /home/user1/rightlog
, o que tornaria /home/user1/rightlog
o destino (mas o rsync reclamará que você está misturando fontes locais e remotas).
Você pode especificar várias origens com rsync, mas todas elas são copiadas para o mesmo destino e parâmetros como listas de exclusão se aplicam a todas as fontes.
Se você precisar de parâmetros diferentes para subárvores diferentes, será necessário fazer chamadas separadas para o rsync. Se você não precisar de parâmetros diferentes, sincronize a raiz comum, mas inclua apenas as partes que deseja sincronizar.
rsync --include='/log1' --include='/rightlog' --exclude='/*' /home/user1 remote@host:/home/user1
Você não precisa de chamadas separadas para o rsync para ter listas de exclusão diferentes, pois elas só precisam incluir o componente de caminho principal.
rsync --include='/log1' --include='/rightlog' --exclude='/*' \
--exclude='/log1/*/*/sql.net' --exclude='/log1/*/*/core' \
/home/user1 remote@host:/home/user1