Eu não recomendaria usar scp
para transferir árvores de arquivos grandes diretamente,
porque não manipula corretamente links rígidos nem soft, também o fluxo não é compactado.
Eu recomendaria cpio
com (de) compactação em tempo real:
ssh user@host "cd /path/to/files && find . | cpio -ov | bzip2 -c" | bunzip2 -c | cpio -ivd
Além disso, find
pode lidar com condições adicionais, como "os arquivos devem ter menos de 4 G"
find . -size -4G | ...
Para tornar cpio
mais amigável ao espaço (para manipular espaços em nomes de arquivos corretamente) use
find . -print0 | cpio -0 -ivd | ...