sexta-feira, outubro 23, 2026
Increva-se
Inicio Linux Backup Automático no Linux com Cron: Guia para Iniciantes

Backup Automático no Linux com Cron: Guia para Iniciantes

Aprenda a sintaxe do crontab, monte um script de backup com rsync ou tar e agende-o pra rodar sozinho, sem precisar lembrar de fazer backup manual nunca mais.

por tecnologiaxt
Linux ⏱ 14 min de leitura 🔄 Atualizado em Setembro/2026

Backup Automático no Linux com Cron: Guia para Iniciantes

Aprenda a sintaxe do crontab, monte um script de backup com rsync ou tar e agende-o pra rodar sozinho, sem precisar lembrar de fazer backup manual nunca mais.

RC
Vamos aprender a sintaxe do crontab, criar um script de backup com rsync ou tar, e agendá-lo pra rodar automaticamente, com log e a regra 3-2-1 de backup explicada. Aqui é o Ronaldo Cardoso, do Tecnologia Moderna — conteúdo técnico, honesto e sempre gratuito.
Resumo rápido

Direto ao ponto sobre backup automático no Linux com cron:

  • O cron executa comandos/scripts em horários agendados, com sintaxe de 5 campos de tempo.
  • Use rsync pra rotina diária (copia só o que mudou) ou tar pra gerar arquivo compactado único.
  • Sempre use caminho absoluto no crontab e salve um log da execução.
  • Erro clássico: 30 * * * * roda 1x no minuto 30, não "a cada 30 minutos" (o certo é */30).
  • Siga a regra 3-2-1: 3 cópias, 2 tipos de mídia, 1 cópia fora do local físico.
Backup que não depende de você lembrar

🐧🕐 Backup Automático no Linux com Cron: Guia para Iniciantes

Olá, eu sou Ronaldo Cardoso! Se você já migrou pro Linux depois do nosso guia de qual distribuição escolher e já se acostumou com os comandos básicos de terminal, chegou a hora de aprender uma das tarefas mais úteis (e mais negligenciadas) de quem administra o próprio sistema: agendar backup automático. Ninguém lembra de fazer backup manual todo dia — mas um agendador de tarefas lembra, sempre, sem exceção. No Linux, essa ferramenta se chama cron, e existe desde os primórdios do Unix, ainda usada hoje em praticamente todo servidor e desktop Linux do planeta.

Resumo rápido: o cron roda um comando ou script automaticamente em horários definidos por você, seguindo uma sintaxe de 5 campos (minuto, hora, dia do mês, mês, dia da semana). Pra backup, o combo mais comum é um script com rsync (copia só o que mudou, rápido) ou tar (compacta tudo num arquivo único), agendado pra rodar todo dia de madrugada, com log salvo num arquivo pra você conferir se realmente funcionou.
📬

Ronaldo aqui: E aí, para não perder nenhum conteúdo, se inscreva aqui que eu aviso você em primeira mão!

Publicidade
Direto ao ponto

✅ Resposta Direta

  • Cron é o agendador de tarefas nativo do Linux — roda comandos automaticamente em horários fixos, sem precisar de nenhum programa extra além do que já vem instalado na maioria das distros.
  • Pra backup, crie um script simples em bash usando rsync (recomendado pra rotina, copia só o que mudou) ou tar (bom pra gerar um arquivo compactado único, ex: antes de uma atualização grande).
  • Agende esse script no crontab (crontab -e) pra rodar todo dia, de madrugada, quando o PC/servidor está ocioso.
  • Sempre salve um log da execução — sem isso você só descobre que o backup parou de funcionar quando já for tarde demais.
  • Backup no mesmo disco físico não é backup de verdade — siga a regra 3-2-1 (explicada mais abaixo).
Um clássico que nunca saiu de moda

🧩 O Que é o Cron, de Verdade

O cron é um daemon (programa que roda em segundo plano, sempre ativo) responsável por executar comandos ou scripts em horários programados, sem precisar de nenhuma interação humana. Ele lê uma lista de tarefas chamada crontab ("cron table"), onde cada linha define um horário e o comando a ser executado naquele momento. Praticamente toda distro Linux (Ubuntu, Mint, Fedora, Debian) já vem com o cron instalado e ativo por padrão — não é preciso instalar nada extra na maioria dos casos.

Cada usuário do sistema tem sua própria crontab, editável com o comando crontab -e (abre um editor de texto, geralmente o nano). Também existe uma crontab do sistema (/etc/crontab) e uma pasta /etc/cron.d/, usadas geralmente por programas instalados que precisam agendar tarefas próprias — pra backup pessoal, a crontab do seu próprio usuário já é suficiente.

Os 5 campos que assustam todo iniciante

📐 Entendendo a Sintaxe do Crontab

A linha de uma tarefa no crontab segue sempre o mesmo formato de 5 campos de tempo, seguidos do comando:

minuto hora dia-do-mes mes dia-da-semana comando
  • minuto: 0 a 59
  • hora: 0 a 23
  • dia-do-mês: 1 a 31
  • mês: 1 a 12
  • dia-da-semana: 0 a 7 (0 e 7 são domingo, 1 é segunda...)

O asterisco (*) em qualquer campo significa "todo/toda" — por exemplo, um asterisco no campo de dia-do-mês significa "todo dia do mês". Alguns exemplos práticos:

Linha do crontabQuando roda
0 3 * * * /home/usuario/backup.shTodo dia, às 3h da manhã
30 2 * * 0 /home/usuario/backup.shToda semana, domingo às 2h30
0 */6 * * * /home/usuario/backup.shA cada 6 horas
0 0 1 * * /home/usuario/backup.shTodo dia 1º de cada mês, à meia-noite
*/15 * * * * /home/usuario/backup.shA cada 15 minutos

Um recurso útil pra quem não quer decorar a sintaxe de cabeça é o site crontab.guru, que traduz qualquer expressão de cron em português simples ("a cada X, no dia Y") e ajuda a validar antes de salvar.

Publicidade
A parte que realmente faz o backup

💻 Criando um Script de Backup com Rsync e Tar

Antes de agendar qualquer coisa no cron, crie um script simples que faça o backup — assim você testa ele isoladamente (rodando na mão) antes de confiar o agendamento automático a ele. Um exemplo básico usando rsync, ideal pra rotina diária porque copia só os arquivos que mudaram desde a última vez (muito mais rápido que copiar tudo de novo):

#!/bin/bash
# backup.sh - copia a pasta Documentos pro HD externo
ORIGEM="/home/usuario/Documentos"
DESTINO="/mnt/hd-externo/backup-documentos"
DATA=$(date '+%Y-%m-%d %H:%M:%S')

echo "[$DATA] Iniciando backup..." >> /home/usuario/backup.log
rsync -av --delete "$ORIGEM/" "$DESTINO/" >> /home/usuario/backup.log 2>&1
echo "[$DATA] Backup concluido." >> /home/usuario/backup.log

Se você prefere gerar um arquivo único compactado (bom pra levar pra nuvem ou guardar versões datadas, em vez de só espelhar a pasta), use tar:

#!/bin/bash
# backup-tar.sh - gera um .tar.gz datado da pasta Documentos
ORIGEM="/home/usuario/Documentos"
DESTINO="/mnt/hd-externo/backups"
DATA=$(date '+%Y-%m-%d')
ARQUIVO="$DESTINO/documentos-$DATA.tar.gz"

tar -czf "$ARQUIVO" -C "$(dirname $ORIGEM)" "$(basename $ORIGEM)" >> /home/usuario/backup.log 2>&1
echo "[$(date)] Backup tar gerado: $ARQUIVO" >> /home/usuario/backup.log

Depois de criar o arquivo, dê permissão de execução: chmod +x backup.sh. Rode manualmente uma vez (./backup.sh) pra confirmar que funciona antes de agendar no cron — depurar um script já dentro do cron é bem mais difícil do que testar ele direto no terminal primeiro.

Terminal Linux mostrando um script de backup sendo executado na linha de comando
Colocando o script no piloto automático

⏰ Agendando o Script no Crontab

  1. Abra o editor da crontab do seu usuário: crontab -e (na primeira vez, ele pode perguntar qual editor de texto usar — nano é o mais simples pra quem está começando).
  2. Adicione uma linha no final do arquivo, por exemplo, pra rodar todo dia às 3h da manhã: 0 3 * * * /home/usuario/backup.sh
  3. Salve e saia (no nano: Ctrl+O pra salvar, Ctrl+X pra sair).
  4. Confirme que a tarefa foi salva com crontab -l (lista as tarefas agendadas do usuário atual).
Sempre use o caminho completo do script (ex: /home/usuario/backup.sh, nunca só ./backup.sh ou backup.sh) dentro do crontab. O cron não roda com o mesmo diretório atual que você usa no terminal, e um caminho relativo é uma das causas mais comuns de "a tarefa não roda e eu não sei por quê".
Sem isso, você só descobre o problema tarde demais

📄 Onde Salvar e Conferir os Logs

Um erro comum de quem está começando é agendar o backup e nunca mais olhar se ele realmente está funcionando — até o dia em que precisa recuperar um arquivo e descobre que o backup parou de rodar há semanas. Sempre redirecione a saída do comando/script pra um arquivo de log, como já fizemos nos exemplos acima (>> /home/usuario/backup.log 2>&1 — o 2>&1 garante que erros também sejam salvos, não só a saída normal).

Vale também conferir os logs do próprio sistema (grep CRON /var/log/syslog em distros baseadas em Debian/Ubuntu, ou journalctl -u cron em distros com systemd) pra confirmar que o cron de fato disparou a tarefa no horário esperado — útil pra diferenciar "o cron não rodou" de "o cron rodou, mas o script deu erro".

Publicidade
As armadilhas mais clássicas

🐛 Erros Comuns de Sintaxe do Cron

  • Usar caminho relativo pro script ou pros arquivos dentro dele: o cron roda com um ambiente bem mais "limpo" que o seu terminal interativo — sempre use caminhos absolutos, começando com /.
  • Confundir a ordem dos campos: é minuto-hora-dia-mês-dia_da_semana, nessa ordem exata. Trocar a ordem faz a tarefa rodar num horário completamente diferente do esperado.
  • Esquecer o quinto campo (dia da semana) e deixar só 4 campos: o crontab exige exatamente 5 campos de tempo antes do comando — faltando um, a tarefa é rejeitada ou interpretada errado.
  • Variáveis de ambiente diferentes: o cron não carrega o mesmo PATH (lista de pastas onde o sistema procura comandos) que o seu terminal normal usa — se o script chama um programa por nome curto (ex: rsync) e ele não é encontrado, use o caminho completo (descubra com which rsync) dentro do script.
  • Não dar permissão de execução ao script (chmod +x) antes de agendar.
  • Agendar para "30 * * * *" pensando que roda a cada 30 minutos: na verdade isso roda uma vez, no minuto 30 de cada hora. Pra "a cada 30 minutos" o certo é */30 * * * *.
O princípio que separa backup de "cópia solta"

🛡️ A Regra 3-2-1 de Backup

Agendar o cron pra copiar arquivos pra outra pasta do mesmo disco não é backup de verdade — se o disco falhar, você perde tudo, original e cópia juntos. A regra clássica de backup, usada tanto por profissionais de TI quanto recomendada pra uso doméstico, é a 3-2-1:

  • 3 cópias dos dados (o original + 2 backups).
  • 2 tipos de mídia diferentes (ex: SSD interno + HD externo, ou HD externo + nuvem).
  • 1 cópia fora do local físico (ex: na nuvem, ou num HD guardado em outro endereço) — protege contra incêndio, roubo, enchente.

Se você já tem um HD externo dedicado a backup, também vale considerar montar algo mais robusto no futuro, como explicamos no guia de como montar um NAS caseiro barato pra backup automático de fotos e documentos — o cron explicado aqui pode, inclusive, ser a mesma ferramenta usada pra agendar a sincronização entre o PC e o NAS.

HD externo usado como destino de backup automático seguindo a regra 3-2-1
O cron não é a única opção

🔄 Alternativas ao Cron: Systemd Timers e Ferramentas Gráficas

Em distros modernas baseadas em systemd (Ubuntu, Fedora, Mint recente), existe uma alternativa nativa chamada systemd timers — funciona de forma parecida ao cron, mas com mais recursos (como rodar a tarefa mesmo que o PC estivesse desligado no horário programado, recuperando automaticamente na próxima ligada) e log integrado ao journalctl por padrão. É mais complexo de configurar (exige 2 arquivos: um .service e um .timer), então pra quem está começando, o cron continua sendo a porta de entrada mais simples.

Se preferir uma interface gráfica em vez de editar arquivos de texto, ferramentas como Déjà Dup (já vem instalado por padrão em várias distros baseadas em GNOME/Ubuntu) ou Timeshift (focado em "pontos de restauração" do sistema inteiro, parecido com o que existe no Windows) oferecem agendamento de backup com poucos cliques, sem precisar tocar no terminal — uma boa opção pra quem só quer o resultado, sem aprender a sintaxe do cron.

Confiança não é suposição

🧪 Como Testar se o Backup Está Funcionando de Verdade

  1. Depois de agendar, espere o próximo horário programado (ou agende temporariamente pra "dentro de 2 minutos" só pra testar, e depois ajuste pro horário definitivo).
  2. Confira o arquivo de log (cat /home/usuario/backup.log) pra ver se apareceu a mensagem de conclusão.
  3. Verifique se os arquivos realmente aparecem no destino (ls -la /mnt/hd-externo/backup-documentos).
  4. O teste mais importante de todos: simule uma restauração de verdade — apague (ou renomeie) um arquivo de teste no original e confirme que a versão do backup consegue recuperá-lo. Um backup que nunca foi testado pra restauração não é garantia de nada.
Termos técnicos explicados

📖 Glossário Rápido

  • Cron: daemon (programa em segundo plano) do Linux que executa comandos em horários agendados.
  • Crontab: arquivo de configuração onde ficam listadas as tarefas agendadas do cron.
  • Rsync: ferramenta de linha de comando que copia/sincroniza arquivos, copiando só o que mudou desde a última execução.
  • Tar: ferramenta que agrupa (e opcionalmente compacta) vários arquivos num único arquivo, muito usada pra backup em formato "pacote único".
  • Daemon: programa que roda continuamente em segundo plano no sistema, sem interface visível.
  • Systemd timer: alternativa moderna ao cron, nativa de distros com systemd, com recursos extras como recuperação de tarefa perdida.
  • Regra 3-2-1: princípio de backup com 3 cópias, em 2 tipos de mídia diferentes, sendo 1 fora do local físico.
  • PATH: variável de ambiente que lista as pastas onde o sistema procura por comandos executáveis pelo nome.
Perguntas Frequentes

FAQ

O cron já vem instalado em toda distro Linux?

Na grande maioria sim — Ubuntu, Mint, Fedora e Debian já trazem o cron instalado e ativo por padrão, sem precisar de instalação extra na maioria dos casos.

Qual a diferença entre usar rsync e tar pra backup?

O rsync copia só os arquivos que mudaram desde a última execução, sendo mais rápido pra rotina diária. O tar agrupa e compacta tudo num único arquivo, sendo útil pra criar versões datadas ou levar o backup pra outro lugar (nuvem, outro disco).

Por que minha tarefa no crontab não está rodando?

As causas mais comuns são: caminho relativo em vez de absoluto, falta de permissão de execução no script (chmod +x), ou o script chamar um programa que não está no PATH restrito do cron. Sempre use caminhos completos dentro do script e no crontab.

Como faço pra rodar uma tarefa a cada 15 minutos no cron?

Use a sintaxe */15 no campo de minuto: */15 * * * * /caminho/script.sh. O asterisco com barra significa "a cada X unidades" daquele campo.

Backup no mesmo disco do PC já é suficiente?

Não é considerado backup seguro. A regra 3-2-1 recomenda pelo menos 2 tipos de mídia diferentes e uma cópia fora do local físico, protegendo contra falha de disco, incêndio ou roubo.

Existe alternativa ao cron mais moderna?

Sim, os systemd timers, nativos em distros com systemd, oferecem recursos extras como recuperar automaticamente uma tarefa perdida enquanto o PC estava desligado, mas exigem configuração um pouco mais complexa que o cron.

Como sei se meu backup automático está funcionando de verdade?

Confira o arquivo de log da execução, verifique se os arquivos aparecem no destino, e faça periodicamente um teste real de restauração — apagar um arquivo de teste no original e recuperá-lo a partir do backup.

Preciso saber programar para usar o cron?

Não é necessário conhecimento avançado. Um script de backup básico com rsync ou tar tem poucas linhas, e a sintaxe do crontab, apesar de parecer confusa no início, segue um padrão simples de 5 campos de tempo.

Teste seu conhecimento

🎮 Que tal testar o que você aprendeu?

Assim que você escolher uma resposta, ela trava — só reabrindo a página pra tentar de novo.

1. Quantos campos de tempo tem uma linha do crontab antes do comando?

2. Qual ferramenta copia só os arquivos que mudaram desde a última execução?

3. Por que sempre usar caminho absoluto dentro de um script agendado no cron?

4. O que a regra 3-2-1 de backup recomenda?

5. Qual comando lista as tarefas já agendadas na crontab do usuário atual?

Compartilhar

Esse conteúdo ajudou você?

Compartilha com alguém que também vai curtir — é rapidinho e ajuda muito o nosso trabalho a chegar em mais gente.

WhatsApp Facebook Telegram X

O Instagram não tem um botão de compartilhar direto pelo navegador — copie o link acima e cole numa Story ou no direct. 😉

Siga a Gente

Não perca nenhuma dica

Conteúdo novo toda semana — direto, técnico e sem enrolação.

Conhecimento só tem valor quando compartilhado.

Manter essa estrutura de laboratórios funcionando e produzir conteúdos de engenharia de forma totalmente gratuita e acessível exige tempo e dedicação diária à bancada. Esse guia salvou os seus arquivos? Você pode contribuir diretamente para manter o nosso trabalho independente forte. Apoie doando qualquer valor!

Quer apoiar a nossa bancada independente?

Tecnologia Moderna © 2026 — Conteúdo escrito por Ronaldo Cardoso. Todas as informações técnicas foram revisadas antes da publicação.

Você pode gostar também

Fique Por Dentro de todas as Novidades

Canal com propósito de Compartilhar, Ajudar e Ampliar conhecimento de todos!

📬

Ronaldo aqui: E aí, para não perder nenhum conteúdo, se inscreva aqui que eu aviso você em primeira mão!

Nos Envie a Sua Dúvida para que possamos criar um conteúdo exclusivo para você, com base na sua dúvida! juntos podemos ensinar outras pessoas!

Mais Acessados:

@2024 – Todos os Direitos Reservado. Desenhado e Desenvolvido por:  Grupo Interativa Marketing  & Technology Center Interativa Marketing