rsync: como sincronizar arquivos com a VPS
Aprenda a usar o rsync para enviar e baixar pastas da VPS pelo SSH, com ensaio antes de copiar, --delete com cuidado, --exclude, porta e chave SSH diferentes.
Por Redação Eleven Host · @robson.direitodigital · 30 de outubro de 2026 · 8 min de leitura

Capa da Redação Eleven Host para o guia: rsync: como sincronizar arquivos com a VPS Arte: Eleven Host
O rsync copia e sincroniza pastas entre o seu computador e a VPS pelo SSH, mandando só as diferenças entre os arquivos de origem e os que já existem no destino. Este guia mostra os comandos para enviar, baixar, simular e excluir arquivos.
O que é o rsync e quando usar
A descrição do pacote no Debian define o rsync como uma ferramenta de cópia de arquivos "rápida, versátil, remota (e local)". Ele é conhecido pelo algoritmo de transferência delta, que reduz os dados enviados pela rede porque manda só as diferenças entre os arquivos de origem e os que já existem no destino. Segundo a página de manual do rsync, para decidir o que mudou ele usa por padrão uma checagem rápida: procura arquivos que mudaram de tamanho ou de data da última modificação.
Para cópias remotas, o rsync normalmente usa o ssh para se comunicar. Se você ainda está conhecendo o serviço, o guia O que é servidor VPS: guia simples para iniciantes explica o que é uma VPS e como escolher um plano.
Um uso possível do rsync é copiar a mesma pasta mais de uma vez, como o código de um site que você edita no computador e envia para a VPS, ou uma pasta de backup que você traz de volta. Na segunda cópia, o rsync manda a diferença, e não a pasta inteira de novo. Para levar um arquivo avulso de um lado para o outro, o guia scp: como copiar arquivos para a VPS pelo terminal mostra como copiar arquivos pelo terminal.
Neste guia, os exemplos usam o usuário usuario, o servidor 203.0.113.10, que é um endereço de exemplo, e a pasta meu-site. Troque pelos seus dados.
Instalar o rsync nos dois lados
Segundo a página de manual, o rsync precisa estar instalado na máquina de origem e na de destino. Na prática, você instala no seu computador e na VPS. O pacote se chama rsync. Em sistemas Debian e Ubuntu, o comando é este, rodado em cada máquina:
sudo apt install rsync
A sintaxe e as opções dos exemplos
A página de manual mostra duas formas para cópias por SSH. Para enviar, a origem fica no seu computador e o destino leva o servidor. Para baixar, é o contrário:
rsync [OPÇÕES...] ORIGEM... [USUARIO@]HOST:DESTINO
rsync [OPÇÕES...] [USUARIO@]HOST:ORIGEM... [DESTINO]
Os comandos deste guia usam estas opções:
-a: modo arquivo, que equivale a-rlptgoD. Copia as pastas de forma recursiva e mantém links simbólicos, permissões, datas, grupo, dono e arquivos especiais. A página de manual avisa que o-anão inclui ACLs (-A), atributos estendidos (-X), horários de acesso (-U), horários de criação (-N) nem links físicos (-H).-v: mostra quais arquivos estão sendo transferidos e um resumo no fim.-z: comprime os dados dos arquivos enquanto são enviados ao destino.
Enviar uma pasta para a VPS
Rode o comando no terminal do seu computador. A origem é a pasta local, e o destino é o usuário, o servidor e o caminho na VPS:
rsync -avz /home/usuario/meu-site/ usuario@203.0.113.10:/home/usuario/meu-site/
Por padrão, o rsync confere o tamanho e a data da última modificação para decidir o que mudou.
A barra no fim da pasta de origem
Segundo a página de manual, uma barra no fim da origem quer dizer "copie o conteúdo desta pasta", e não "copie a pasta pelo nome". Por isso, estes dois comandos da própria página de manual fazem a mesma coisa:
rsync -av /src/foo /dest
rsync -av /src/foo/ /dest/foo
Sem a barra, o rsync cria /dest/foo com o conteúdo dentro. Com a barra, ele coloca o conteúdo de foo no destino que você indicou. Confira essa barra antes de apertar Enter, porque ela muda onde os arquivos vão parar.
Barra no fim da origem (pasta/) copia o conteúdo da pasta. Sem a barra (pasta), o rsync copia a pasta pelo nome.
Baixar arquivos da VPS
Para trazer uma pasta da VPS para o seu computador, inverta a ordem: primeiro a origem na VPS, depois a pasta local que vai receber:
rsync -avz usuario@203.0.113.10:/home/usuario/meu-site/ /home/usuario/restauracao/
O comando também roda no terminal do seu computador. A regra da barra vale do mesmo jeito: com a barra no fim da origem, o conteúdo de meu-site vai direto para restauracao.
Transferências longas: --partial e -P
Segundo a página de manual, se a transferência é interrompida, o rsync apaga por padrão o arquivo que ficou pela metade. A opção --partial manda guardar esse pedaço. A opção --progress mostra o andamento, e a página avisa que esses números podem enganar quando a transferência delta está em uso. O -P é o mesmo que --partial --progress e serve para facilitar transferências longas que podem ser interrompidas:
rsync -avzP usuario@203.0.113.10:/home/usuario/meu-site/ /home/usuario/restauracao/
Procura uma VPS para o seu projeto? O Plano Bronze da VPS sai a partir de R$ 17,00/mês; confira na loja o que cada plano inclui. Ver planos de VPS
Fazer um ensaio com -n antes de copiar
A opção -n, ou --dry-run, faz um ensaio sem mudar nada, com uma saída quase igual à de uma execução real. Serve para ver o que o rsync faria antes de copiar de verdade:
rsync -avn /home/usuario/meu-site/ usuario@203.0.113.10:/home/usuario/meu-site/
Leia a lista. Se estiver como você esperava, rode o mesmo comando sem o n.
Espelhar com --delete
A opção --delete apaga do destino os arquivos que não existem na origem. A página de manual avisa: "Esta opção pode ser perigosa se usada incorretamente!" (no original, em inglês) e recomenda testar antes com --dry-run para ver o que será apagado:
rsync -avn --delete /home/usuario/meu-site/ usuario@203.0.113.10:/home/usuario/meu-site/
Primeiro o ensaio, com o -n. Só depois de conferir a lista de arquivos que serão apagados, rode o comando sem o -n.
Deixar arquivos de fora com --exclude
A opção --exclude=PADRÃO deixa de fora os arquivos que batem com o padrão. Segundo a página de manual, ela é uma forma simplificada da opção --filter, e um dos padrões que a página usa de exemplo é --exclude='*.new'. Para não enviar os arquivos de log de uma pasta de site, por exemplo:
rsync -av --exclude='*.log' /home/usuario/meu-site/ usuario@203.0.113.10:/home/usuario/meu-site/
Faça o ensaio com -n junto para ver na lista quais arquivos seriam enviados.
Porta ou chave SSH diferentes
A opção -e, ou --rsh=COMANDO, escolhe o shell remoto. A página de manual do rsync traz o exemplo -e 'ssh -p 2234'. No manual do ssh, o -p é a porta do servidor remoto, e o -i escolhe o arquivo da chave privada usada no login por chave. Com a porta 2222:
rsync -avz -e 'ssh -p 2222' /home/usuario/meu-site/ usuario@203.0.113.10:/home/usuario/meu-site/
Se você trocou a porta do SSH da VPS, o guia Mudar a porta do SSH: passo a passo na VPS explica como isso é feito. Para entrar com uma chave específica:
rsync -avz -e 'ssh -i ~/.ssh/minha-chave' /home/usuario/meu-site/ usuario@203.0.113.10:/home/usuario/meu-site/
Se aparecer o erro Permission denied (publickey), o guia Permission denied publickey: como resolver no SSH trata desse erro. Como o rsync normalmente usa o ssh para se comunicar, teste o login com ssh usuario@203.0.113.10 antes de investigar o rsync.
A página de manual lembra ainda que quem usa o ssh pode configurar opções de conexão por servidor no arquivo .ssh/config. Dá para agendar o rsync com o cron, para repetir a cópia sozinho; esse assunto fica para outro guia.
Comandos para guardar
sudo apt install rsync: instala o pacote (nos dois lados).rsync -avz /home/usuario/meu-site/ usuario@203.0.113.10:/home/usuario/meu-site/: envia o conteúdo da pasta para a VPS.rsync -avz usuario@203.0.113.10:/home/usuario/meu-site/ /home/usuario/restauracao/: baixa da VPS.rsync -avn ...: ensaio, sem mudar nada.rsync -avn --delete ...: ensaio do espelho; só depois, sem o-n.--exclude='*.log': deixa de fora os arquivos que batem com o padrão.-e 'ssh -p 2222'e-e 'ssh -i ~/.ssh/minha-chave': porta e chave.-P: guarda o arquivo parcial e mostra o andamento.
Quer conhecer os planos de VPS da Eleven Host? O Plano Bronze da VPS sai a partir de R$ 17,00/mês; confira na loja o que cada plano inclui. Conhecer os planos
Perguntas frequentes
Como sincronizar uma pasta com a VPS usando o rsync?
No terminal do seu computador, rode rsync -avz /home/usuario/meu-site/ usuario@203.0.113.10:/home/usuario/meu-site/, trocando usuário, servidor e caminhos pelos seus.
O rsync precisa estar instalado na VPS?
Sim. Segundo a página de manual, ele precisa estar instalado na máquina de origem e na de destino.
Para que serve a barra no fim da pasta?
Com a barra no fim da origem, o rsync copia o conteúdo da pasta. Sem a barra, ele copia a pasta pelo nome.
Como ver o que o rsync vai fazer antes de copiar?
Acrescente -n (ou --dry-run) ao comando. Ele faz um ensaio sem mudar nada.
Como usar o rsync com outra porta de SSH?
Use -e 'ssh -p 2222', trocando 2222 pela porta da sua VPS.