O que você propôs deveria realmente funcionar:
rsync -rzvvhP remotehost:/home/tmp/1\* /home/tmp/
(Você pode se safar de não citar o *
na maioria das circunstâncias, já que é improvável que o padrão remotehost:/home/tmp/1\*
corresponda a qualquer arquivo, de modo que ele fique sozinho com a maioria das configurações de shell.)
Sua tentativa com --exclude='*'
falhou porque a primeira correspondência se aplica e sua primeira correspondência para tudo ( *
) diz para excluir.
Veja este guia para alguns princípios gerais sobre filtros rsync. Aqui, para incluir apenas os diretórios que começam com 1
no nível superior e copie tudo nos subdiretórios incluídos, inclua /1
e exclua /*
.
rsync -rzvvhP --include='/1' --exclude='/*' remotehost:/home/tmp/ /home/tmp/