rsync rekurencyjnie z pewną głębokością podfolderów


17

Chcę rsyncrekurencyjnie do folderu, ale chcę, aby podfoldery były dołączane tylko do określonej głębokości.

Na przykład chciałbym mieć głębokość 1,2,3 lub 4 podfolderów takich jak to:

source/
├── subfolder 1
   ├── subsubfolder
      ├── subsubsubfolder
         └── wanted with depth 4.txt
      └── wanted with depth 3.txt
   └── wanted with depth 2.txt
├── subfolder 2
   └── wanted with depth 2.txt
└── wanted with depth 1.txt

Odpowiedzi:


26

Ułatw --exclude=opcję.

Aby zsynchronizować z głębokością 2 (pliki w folderze i podfolderach):

rsync -r --exclude="/*/*/" source/ target/

Da ci to:

target/
├── subfolder 1
   └── wanted with depth 2.txt
├── subfolder 2
   └── wanted with depth 2.txt
└── wanted with depth 1.txt

Aby zsynchronizować z głębokością 3 (pliki w folderze, podfolderach i podfolderach):

rsync -r --exclude="/*/*/*/" source/ target/

da tobie:

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.