Basico de scp/rsync no Ubuntu: Transferencia de Arquivos Entre Servidores

Basico de scp/rsync no Ubuntu: Transferencia de Arquivos Entre Servidores

O Que Voce Vai Aprender

  • Como usar scp para transferencias simples de arquivos
  • Como usar rsync para sincronizacao eficiente
  • Quando usar qual ferramenta
  • Modelos para copiar e colar para cenarios comuns

Resumo Rapido

  • scp: Copia simples via SSH. Bom para arquivos individuais ou transferencias pequenas.
  • rsync: Sincronizacao eficiente. Bom para transferencias grandes/repetidas, envia apenas diferencas.

1. Basico de scp

Conclusao: scp copia arquivos via SSH; use -r para diretorios e -P para portas personalizadas.

scp (secure copy) transfere arquivos via SSH. Simples e direto.

Local --> Remoto

$ scp /local/file.txt user@remote:/remote/path/

Remoto --> Local

$ scp user@remote:/remote/file.txt /local/path/

Copiar diretorio (-r)

$ scp -r /local/dir/ user@remote:/remote/path/

Porta nao padrao (-P)

$ scp -P 2222 /local/file.txt user@remote:/remote/path/

2. Basico de rsync

Conclusao: rsync envia apenas diferencas; -avz mais -n para dry runs e a base comum.

rsync e eficiente para transferencias grandes - ele envia apenas diferencas.

Local --> Remoto

$ rsync -avz /local/dir/ user@remote:/remote/path/

Remoto --> Local

$ rsync -avz user@remote:/remote/dir/ /local/path/

Opcoes Principais

  • -a: Modo archive (preserva permissoes, timestamps, etc.)
  • -v: Saida detalhada
  • -z: Comprimir durante a transferencia
  • -n: Dry run (visualizar sem alteracoes)
  • --delete: Deletar arquivos no destino que nao estao na origem
  • --progress: Mostrar progresso

Dry run primeiro (recomendado)

$ rsync -avzn /local/dir/ user@remote:/remote/path/

3. Quando Usar Qual

Conclusao: Use scp para arquivos unicos pontuais e rsync para transferencias grandes ou repetidas.

Cenario Recomendado
Arquivo unico, uma vez scp
Sincronizacao de diretorio grande rsync
Backups repetidos rsync
Retomar transferencia interrompida rsync

4. Erros Comuns e Correcoes

Conclusao: A maioria dos erros sao permission denied, connection timeout ou no space left.

Permission denied

  • Verifique a autenticacao por chave SSH
  • Verifique as permissoes do diretorio de destino
  • Tente com sudo se necessario

Connection timeout

  • Verifique a conectividade SSH primeiro: ssh user@remote
  • Verifique configuracoes de firewall/security group

No space left on device

  • Verifique o espaco em disco do destino: df -h
  • Limpe antes da transferencia

5. Modelos para Copiar e Colar

Conclusao: Modelos de scp e rsync para copiar e colar cobrem uploads, sincronizacoes e portas personalizadas.

Modelos scp

# Upload de arquivo unico
scp /local/file.txt user@remote:/remote/path/

# Download de arquivo unico
scp user@remote:/remote/file.txt /local/path/

# Upload de diretorio
scp -r /local/dir/ user@remote:/remote/path/

# Com porta nao padrao
scp -P 2222 /local/file.txt user@remote:/remote/path/

Modelos rsync

# Sincronizar diretorio (dry run primeiro)
rsync -avzn /local/dir/ user@remote:/remote/path/
rsync -avz /local/dir/ user@remote:/remote/path/

# Com exibicao de progresso
rsync -avz --progress /local/dir/ user@remote:/remote/path/

# Espelhar (deletar arquivos extras no destino)
rsync -avz --delete /local/dir/ user@remote:/remote/path/

# Porta SSH nao padrao
rsync -avz -e "ssh -p 2222" /local/dir/ user@remote:/remote/path/

Proximas Leituras