rsync
!
rsync -azv -e ssh ./localdirectory/ user@otherserver:/remote/dir
-a
é o bad boy aqui. Na verdade, é um meta-argumento que chama -rlptgoD
, o que significa, entre outras coisas:
- Recursivo
- Preservar links simbólicos
- Preservar permissões
- Preservar horários de modificação
- Preservar grupo
- Preservar o proprietário
- E preserva coisas especiais
Ele não preservará hardlinks porque os hardlinks são arquivos (bem, na verdade é um ponteiro para um inode que armazena um nome de arquivo - mas é o mesmo que um arquivo normal - quando você faz um hardlink) está apenas dando a um inode um nome de arquivo extra). Isso não deve ser um problema para você, porque eles são um OMI muito raro.
-z
tentará compactar os dados no fluxo (acelere um pouco).
-v
irá garantir que está fornecendo muitos resultados.