É melhor deixar o padrão correspondente ao rsync, então você não está dependendo do shell e das opções que o shell tem naquele momento.
Quando você faz:
rsync -a /some/dir/* host:/remote/dir/
você está realmente pedindo ao shell para expandir a parte /some/dir/* , para que o rsync seja realmente executado assim:
rsync -a /some/dir/adir /some/dir/afile /some/dir/anotherfile [etc] host:/remote/dir/
Isso geralmente é bastante semelhante ao que a intenção era, porém nem sempre como demonstrado pelo fato de que essa pergunta foi feita. Por isso, é melhor executar:
rsync -a /some/dir/ host:/remote/dir/
Agora o rsync (porque -a é a abreviação de -rlptgoD que inclui -r para recursão) percorre recursivamente o diretório /some/dir e sincroniza todo o seu conteúdo para /remote/dir no host remoto, incluindo qualquer ponto arquivos diretamente em /some/dir .
Quando o caminho de origem termina com uma barra / , os nomes de arquivos transferidos omitem qualquer parte do local de origem. Se /some/dir foi passado, você está dizendo para sincronizar explicitamente o diretório dir , incluindo o nome dele. É recomendável criar o hábito de adicionar a última barra em todos os momentos para evitar essa confusão, a menos que você realmente entenda o que está acontecendo.