Facilite a opção --exclude=
.
Para sincronizar com uma profundidade de 2 (arquivos dentro de pastas e subpastas):
rsync -r --exclude="/*/*/" source/ target/
Isso lhe dará isto:
target/
├── subfolder 1
│ └── wanted with depth 2.txt
├── subfolder 2
│ └── wanted with depth 2.txt
└── wanted with depth 1.txt
Para sincronizar com uma profundidade de 3 (arquivos dentro de pastas, subpastas e subpastas):
rsync -r --exclude="/*/*/*/" source/ target/
vai te dar:
target/
├── subfolder 1
│ ├── subsubfolder
│ │ └── wanted with depth 3.txt
│ └── wanted with depth 2.txt
├── subfolder 2
│ └── wanted with depth 2.txt
└── wanted with depth 1.txt