Use o seguinte comando:
rsync -av --include-from=DirectoriesToCopy.txt --include /data/ --exclude='/data/*' --exclude='/*/' / /media/MyDestination/
Você precisa incluir / data / explicitamente, você também pode ter adicionado isso à lista no arquivo. Em seguida, exclua todos os outros diretórios (a ordem é importante para incluir / excluir).
Observe que o uso de -r
foi redundante, pois está incluído em -a
.
EDITAR: Você também pode obter o mesmo resultado com:
rsync -av --relative /data/Dir1 /data/Dir2 /media/MyDestination/
Não é o rsync que está forçando você a fazer coisas difíceis apenas para copiar alguns diretórios, ele apenas oferece várias maneiras de fazer a mesma coisa; Em alguns casos, a maneira de incluir / excluir pode ser mais adequada. Aqui, eu faria a coisa relativa - acima (sem --relative
você acabaria com /media/MyDestination/Dir1
e /media/MyDestination/Dir2
, com o --relative
do todo o caminho de origem é copiado para o destino).