−25%

no Windows com pagamento anual, até 31/10. Ver planos

EQVPS

Como transferir arquivos para um VPS: scp, rsync e SFTP

Copie arquivos de e para o servidor com scp, sincronize pastas grandes com rsync e a sua retomada, ou use um cliente SFTP, também em NAT com porta SSH própria.

Mais cedo ou mais tarde os arquivos precisam chegar ao servidor: a build de um site, um dump do banco de dados, uma configuração que você escreveu localmente. Você não precisa de um servidor FTP para isso: o SSH já oferece três boas ferramentas. Todos os exemplos usam endereços de documentação; troque-os pelos do seu servidor.

Conheça os seus dados de conexão

scp: copiar um arquivo ou uma pasta

Enviar um arquivo:

scp backup.sql root@203.0.113.10:/root/

Baixar um:

scp root@203.0.113.10:/var/log/nginx/access.log .

Uma pasta inteira:

scp -r ./site root@203.0.113.10:/var/www/

Num plano NAT, adicione a porta com -P maiúsculo:

scp -P 20123 backup.sql root@your-nat-host:/root/

rsync: a ferramenta certa para pastas

O rsync envia só as diferenças, mostra o progresso e continua se a conexão cair. Ele precisa estar instalado nos dois lados (apt install -y rsync).

rsync -avzP ./site/ root@203.0.113.10:/var/www/site/

Com uma porta SSH personalizada:

rsync -avzP -e "ssh -p 20123" ./site/ root@your-nat-host:/var/www/site/

Para fazer do destino um espelho exato (apagando os arquivos que você removeu localmente), adicione --delete, mas confira antes o que ele vai fazer:

rsync -avzP --delete --dry-run ./site/ root@203.0.113.10:/var/www/site/

Atenção à barra final. ./site/ copia o conteúdo de site; ./site copia a própria pasta para dentro do destino. Com --delete, essa diferença decide qual diretório é esvaziado.

SFTP: interativo ou gráfico

O cliente de linha de comando funciona como um pequeno gerenciador de arquivos:

sftp -P 20123 root@your-nat-host
sftp> put backup.sql
sftp> get /etc/nginx/nginx.conf
sftp> exit

Prefere uma interface gráfica? FileZilla, WinSCP ou Cyberduck se conectam com os mesmos dados: protocolo SFTP, o seu host, porta 22 (ou a sua porta NAT), usuário root e a sua chave SSH ou senha.

Mais rápido com chaves SSH

Todas essas ferramentas usam SSH, então uma chave SSH elimina os pedidos de senha e permite automatizar transferências pelo cron. Se você ainda não fez: autenticação por chave SSH. Os servidores novos da EQVPS aceitam a senha de root do painel até você passar para chaves, o que recomendamos fazer já no primeiro dia.

Transferências grandes

Para dezenas de gigabytes, o rsync é a única escolha sensata: se a conexão cair, rode o mesmo comando de novo e ele continua de onde parou. Execute-o dentro de tmux ou screen na máquina que envia, para que fechar o notebook não o interrompa.

Relacionados

Perguntas frequentes

Qual a diferença entre scp e rsync?

O scp copia tudo toda vez. O rsync compara os dois lados e envia só o que mudou, consegue retomar transferências interrompidas e consegue espelhar uma pasta. Para um arquivo, o scp basta; para pastas que você sincroniza com frequência, use o rsync.

Como uso uma porta SSH fora do padrão?

scp e sftp usam -P maiúsculo (scp -P 20123), o ssh usa -p minúsculo, e o rsync recebe assim: rsync -e 'ssh -p 20123'. Nos planos NAT da EQVPS, a porta SSH pessoal aparece no painel.

Posso usar um cliente gráfico?

Sim. Qualquer cliente SFTP (FileZilla, WinSCP, Cyberduck) funciona com o mesmo host, porta, usuário e chave SSH ou senha que você usa no SSH. Escolha o protocolo SFTP, não FTP.

Funciona a partir do Windows?

O Windows 10 e 11 incluem o OpenSSH, então scp e sftp funcionam no PowerShell exatamente como aqui. O rsync não vem incluído; use-o pelo WSL ou recorra ao recurso de sincronização do WinSCP.

O que significa a barra final no rsync?

'rsync -a site/ dest/' copia o conteúdo de site para dentro de dest. 'rsync -a site dest/' cria dest/site. Se errar isso com --delete, você pode esvaziar a pasta errada, então rode antes com --dry-run.

Comentários

Nenhum comentário ainda. Seja o primeiro.

Deixe um comentário

Os comentários são moderados antes de aparecerem.