Algo parecido com isto:
rsync -avh --delete /local/directory username@remotehost:/home/public
Isso criará directory dentro de /home/public . Se, no entanto, você quiser ter o conteúdo de directory diretamente em /home/public , use algo como (observe a barra à direita):
rsync -avh --delete /local/directory/ username@remotehost:/home/public
Confira man rsync para mais opções. Os usados acima:
-
--delete removerá arquivos não existentes no host remoto, portanto, tenha cuidado com o que você transfere.
-
a é para "arquivamento" e deve ser útil na maioria dos casos
-
h permitirá tamanhos de arquivo legíveis por humanos
Algumas opções adicionais que você pode querer usar:
-
--progress para ver também o progresso atual
-
--dry-run para ver o que teoricamente seria transmitido (mas na verdade não transmite nada)