Sem documento na inscrição · VPS de armazenamento de 500 GB a 8 TB · Pague com BTC, USDT, USDC, ETH, SOL, LTC, XMR
Idioma: Português
Contratar armazenamento

Servidor de backup Borg · passo a passo

Como configuro um servidor de backup Borg em uma VPS de armazenamento?

Um servidor Borg não é nada além de uma conta SSH que pode executar um único comando. Restrinja esse comando por chave, mantenha os clientes em modo append-only e faça o prune de um lugar onde um invasor não consiga chegar.

Última atualização: · 9 min de leitura

Resposta rápida

Como configuro um servidor de backup Borg em uma VPS?

Para configurar um servidor de backup Borg em uma VPS, instale o Borg 1.x nas duas pontas, crie um usuário borg e force borg serve --restrict-to-path --append-only em cada chave de cliente. Inicialize cada repositório com repokey; faça prune e compact a partir de uma chave de administração separada. Uma VPS de 1 TB Coffervale custa $1.66 por mês no plano de 12 meses (2 November 2026).

Quais são os passos, em ordem?

  1. Instale o mesmo Borg 1.x no servidor e nos clientes

    apt install borgbackup no Debian ou Ubuntu e depois compare borg --version nas duas pontas.

  2. Crie um usuário borg e uma pasta de repositório

    Uma conta sem privilégios na VPS é dona de todos os repositórios; os clientes nunca recebem um shell.

  3. Force borg serve em authorized_keys

    Uma linha por chave de cliente, cada uma limitada ao seu próprio caminho com --restrict-to-path e --append-only.

  4. Inicialize o repositório com repokey

    Execute borg init --encryption=repokey no cliente, exporte a chave e guarde-a longe das duas máquinas.

  5. Agende borg create no cliente

    Diariamente via cron ou um timer do systemd, com a passphrase lida por BORG_PASSCOMMAND.

  6. Faça prune e compact a partir de uma chave de administração

    Uma segunda chave sem --append-only, usada de uma máquina confiável depois de conferir a lista de arquivos.

  7. Verifique o repositório e teste uma restauração

    borg check semanalmente, --verify-data mensalmente e uma borg extract real a cada poucos meses.

Qual versão do Borg o servidor deve rodar?

Rode o Borg 1.x nos dois lados: a 1.4.5 foi a última versão estável, em 2 de novembro de 2026, e o Borg 2 ainda está em beta. A página do Borg 2.0 o chama de versão com mudanças incompatíveis, que não é diretamente compatível com repositórios Borg 1.x, e renomeia borg init para borg repo-create. No Debian 13, o pacote a instalar é borgbackup (1.4.0 no trixie); o pacote borgbackup2 separado é um beta do 2.0. Instale a mesma versão no servidor e em todos os clientes.

Na VPS de armazenamento, como root: Borg, um usuário borg, uma pasta por cliente
apt install borgbackup
borg --version

useradd --create-home --home-dir /srv/borg --shell /bin/sh borg
install -d -m 700 -o borg -g borg /srv/borg/.ssh /srv/borg/repos
install -d -m 700 -o borg -g borg /srv/borg/repos/laptop /srv/borg/repos/web1

Como faço para travar cada cliente no próprio repositório?

Coloque um comando forçado borg serve na frente de cada chave em /srv/borg/.ssh/authorized_keys, para que a chave possa rodar o Borg e nada mais. A palavra-chave restrict bloqueia encaminhamento de porta, encaminhamento de agente e terminais, e a documentação do Borg observa que ela também cobre recursos de SSH adicionados em versões futuras. Os exemplos assumem um shell POSIX como shell de login da conta, e por isso o usuário acima recebe /bin/sh.

  • --restrict-to-path PATH permite esse caminho e todas as pastas abaixo dele, então um cliente pode ter vários repositórios.
  • --restrict-to-repository PATH é mais restritivo: exatamente um repositório, sem subpastas.
  • --append-only permite que a chave adicione arquivos ao repositório, mas não remova dados dele.
  • --storage-quota 500G limita o que uma chave pode armazenar, então um cliente descontrolado não consegue encher o disco.

Cada linha fica em uma única linha no arquivo; a chave de admin no final não tem --append-only e é usada apenas para o prune.

/srv/borg/.ssh/authorized_keys (owner borg, mode 600)
command="borg serve --restrict-to-path /srv/borg/repos/laptop --append-only",restrict ssh-ed25519 AAAA...laptop-key... laptop
command="borg serve --restrict-to-path /srv/borg/repos/web1 --append-only --storage-quota 500G",restrict ssh-ed25519 AAAA...web1-key... web1
command="borg serve --restrict-to-path /srv/borg/repos",restrict ssh-ed25519 AAAA...admin-key... admin
Corrija o proprietário após editar, como root
chown borg:borg /srv/borg/.ssh/authorized_keys
chmod 600 /srv/borg/.ssh/authorized_keys

Como crio o repositório com criptografia repokey?

Rode borg init --encryption=repokey no cliente, depois exporte a chave e guarde-a fora tanto da VPS quanto da máquina que você faz backup. A documentação do Borg recomenda repokey com uma passphrase forte como regra geral; repokey-blake2 é o mesmo modo com hash BLAKE2b, provavelmente mais rápido em processadores sem aceleração de hardware para SHA-256. Com repokey, a chave fica no arquivo config do repositório, selada pela sua passphrase. Perca a passphrase e os backups ficam ilegíveis, para você e para todo mundo. O Borg também diz que você deve manter uma cópia da chave fora do local, por exemplo em papel.

No cliente (aqui: o laptop)
ssh-keygen -t ed25519 -N '' -C 'borg laptop' -f ~/.ssh/borg_ed25519

cat >> ~/.ssh/config <<'EOF'
Host coffer-borg
    HostName 203.0.113.10
    User borg
    IdentityFile ~/.ssh/borg_ed25519
    IdentitiesOnly yes
EOF

export BORG_REPO=ssh://coffer-borg/srv/borg/repos/laptop/main
borg init --encryption=repokey
borg key export --paper "$BORG_REPO" ~/borg-laptop-key.txt
/usr/local/sbin/borg-backup on a server client, run daily as root
#!/bin/sh
export BORG_REPO=ssh://coffer-borg/srv/borg/repos/web1/main
# the passphrase file belongs to root, mode 600
export BORG_PASSCOMMAND='cat /root/.config/borg/passphrase'

borg create --stats --compression zstd,3 \
    ::'{hostname}-{now:%Y-%m-%dT%H:%M}' \
    /etc /home /var/www

Como faço prune e compact em um repositório append-only?

De uma máquina de admin confiável, com a chave que não tem --append-only, depois de verificar que nenhum arquivo sumiu. No modo append-only, explicam as notas do Borg, prune e delete ainda rodam, mas apenas marcam dados como excluídos em uma nova transação, e a compactação nunca acontece, sem aviso e sem erro. O espaço do repositório não é liberado até que borg compact rode a partir de uma chave autorizada a reescrever.

As mesmas notas trazem a pegadinha: a primeira gravação no modo normal torna permanente toda exclusão anterior, incluindo uma feita por um atacante através de uma chave de cliente. Então liste os arquivos primeiro. Se alguns estiverem faltando, pare e siga os passos de recuperação nas notas de append-only do Borg antes de fazer qualquer prune. Um cron job que faz prune automaticamente com uma chave sem restrições torna o append-only inútil. A documentação do Borg também recomenda um --dry-run com --list antes de cada prune real.

Na máquina de admin, Host coffer-admin usando a chave de admin
export BORG_REPO=ssh://coffer-admin/srv/borg/repos/web1/main

borg list
borg prune -v --list --dry-run --keep-daily=7 --keep-weekly=4 --keep-monthly=6
borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=6
borg compact

Como verifico o repositório e provo que a restauração funciona?

Rode borg check semanalmente, borg check --verify-data mensalmente e extraia arquivos reais para outra máquina a cada poucos meses. Um check simples verifica o repositório e os metadados dos arquivos. --verify-data lê, descriptografa e descomprime cada chunk, o que o Borg chama de muito demorado, e em discos rígidos é mesmo. Para um repositório grande, --repository-only --max-duration 3600 divide a verificação do repositório em fatias de uma hora que retomam de onde pararam. Nada disso substitui uma restauração real: um backup vale tanto quanto a última vez que você tirou dados dele.

Verificações e uma restauração de teste, a partir do cliente
export BORG_REPO=ssh://coffer-borg/srv/borg/repos/web1/main

borg check -v
borg check -v --verify-data
borg check -v --repository-only --max-duration 3600

mkdir -p /tmp/restore-test && cd /tmp/restore-test
borg list
borg extract --list ::web1-2026-11-02T03:00 etc/nginx

Quanto custa um destino Borg em comparação com armazenamento Borg hospedado?

Segundo o levantamento da Coffervale de 2 de novembro de 2026, o armazenamento Borg hospedado custava $9.17 por TB ao mês na BorgBase (plano Medium de 1 TB, $110.00 por ano) e $15.00 por TB na rsync.net, enquanto os planos de VPS de armazenamento de provedores que aceitam cripto sem documento de identidade tinham uma mediana de $4.00 por TB. Os serviços hospedados rodam o servidor para você; uma VPS de armazenamento te entrega root e a configuração acima, uma escolha avaliada em Uma VPS de armazenamento é uma alternativa mais barata à rsync.net ou à BorgBase?. Não fazemos backup do seu servidor e não guardamos cópia dos seus dados em nenhum outro lugar, então o que fica em um storage VPS da Coffervale deve ser uma das suas cópias, nunca a única, então o servidor Borg é uma cópia entre várias, como explica Como uso uma VPS para backups fora do local?. O plano de 1 TB está detalhado em Onde consigo uma VPS com 1 TB de armazenamento?, e se você preferir restic, leia Restic: REST server ou SFTP para backups em uma VPS?. Para criptografar também o disco da VPS, veja Como monto e formato o disco de armazenamento em uma VPS Linux?.

Destinos Borg por TB ao mês, 2 de novembro de 2026

Destino BorgPor TB ao mêsO que você mesmo rodaPago em cripto
BorgBase Medium, 1 TB$9.17 ($110.00 por ano)Nada: repositórios Borg e restic hospedadosNão informado
rsync.net, faixa de 0 a 9 TB$15.00Nada: armazenamento ZFS acessado via SSHNão informado
VPS de armazenamento, mediana de 99 planos$4.00O servidor Borg configurado nesta páginaSim: provedores que aceitam cripto sem documento de identidade
Coffervale Clay, 1 TB$1.66 em 12 mesesO servidor Borg configurado nesta páginaBTC, USDT, USDC, ETH, SOL, LTC, XMR

Preços verificados em

Preços conforme lidos na própria página de cada serviço em 2 de novembro de 2026. A BorgBase cobra o plano Medium anualmente e informa os preços sem VAT; a mediana das VPS de armazenamento cobre planos de 500 GB ou mais, em estoque e cobrados mensalmente.

Perguntas sobre um servidor de backup Borg

Cliente e servidor precisam da mesma versão do Borg?

Mantenha ambos no Borg 1.x, de preferência a mesma versão. O Borg 2 ainda está em beta, usa um novo formato de repositório e não abre repositórios 1.x diretamente. No Debian 13, instale borgbackup, não borgbackup2.

Devo usar --restrict-to-path ou --restrict-to-repository?

--restrict-to-path permite uma pasta e tudo abaixo dela, útil quando um cliente mantém vários repositórios. --restrict-to-repository permite exatamente um repositório e nenhuma subpasta, a escolha mais restrita quando cada cliente tem um.

Por que meu repositório não diminui depois do borg prune?

O prune apenas marca os arquivos como excluídos; borg compact libera o espaço. Através de uma chave append-only, a compactação nunca roda, então faça prune e compact a partir da chave de admin.

Uma única VPS de armazenamento pode armazenar repositórios Borg de várias máquinas?

Sim. Dê a cada máquina sua própria linha de chave no authorized_keys, seu próprio caminho e, se o disco for compartilhado, seu próprio --storage-quota. Assim, um cliente comprometido alcança apenas um repositório.

O que acontece se eu perder a passphrase do Borg?

O repositório fica ilegível para sempre. O Borg não consegue recuperá-lo e o host também não. Guarde a passphrase em um gerenciador de senhas e a chave exportada em papel, longe da VPS e do cliente.

Fontes (13)
  1. Documentação do Borg 1.4.5: Hospedando repositórios — BorgBackup project (read 2026-11-02)
  2. Documentação do Borg 1.4.5: borg serve (opções de restrição, append-only, cota de armazenamento) — BorgBackup project (read 2026-11-02)
  3. Documentação do Borg 1.4.5: borg init (modos de criptografia, backup de chave) — BorgBackup project (read 2026-11-02)
  4. Documentação do Borg 1.4.5: borg prune — BorgBackup project (read 2026-11-02)
  5. Documentação do Borg 1.4.5: borg compact — BorgBackup project (read 2026-11-02)
  6. Documentação do Borg 1.4.5: borg check — BorgBackup project (read 2026-11-02)
  7. Documentação do Borg 1.4.5: Additional notes, append-only mode — BorgBackup project (read 2026-11-02)
  8. Documentação do Borg 1.4.5: Início rápido (BORG_PASSCOMMAND) — BorgBackup project (read 2026-11-02)
  9. Borg 2.0 (informações preliminares) — BorgBackup project (read 2026-11-02)
  10. Lançamentos do BorgBackup (1.4.5 mais recente, 2.0.0b25 pré-lançamento) — BorgBackup project on GitHub (read 2026-11-02)
  11. Pacotes do Debian trixie: borgbackup 1.4.0, borgbackup2 2.0.0b19 — Debian (read 2026-11-02)
  12. Planos e preços borgbase.com — BorgBase (read 2026-11-02)
  13. Preços de armazenamento em nuvem rsync.net/pricing.html — rsync.net (read 2026-11-02)

A partir de $1.24/mês · sem KYC

Contratar armazenamento