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/