borg_backup_pasta_corrente.shO script borg_backup_pasta_corrente.sh automatiza o backup incremental da pasta corrente (diretório onde é executado)
utilizando o script principal borg_backup.sh.
Ele identifica automaticamente:
/media/paulosspacheco/Novo volume/borg_backup),Este script é ideal para quem deseja realizar backups rápidos e consistentes sem precisar digitar longos comandos.
borg_backup.sh para padronizar a execução.O script não recebe parâmetros externos — ele trabalha automaticamente com a pasta onde é executado.
| Variável | Descrição | Exemplo |
|---|---|---|
SCRIPT_BASE |
Caminho absoluto para o script borg_backup.sh |
/home/paulosspacheco/scripts/borg_backup.sh |
DESTINO |
Caminho base onde os backups são armazenados | /media/paulosspacheco/Novo volume/borg_backup |
MONTAGEM |
Ponto de montagem do disco de backup | /media/paulosspacheco/Novo volume |
ORIGEM |
Diretório atual (pwd) |
/home/paulosspacheco/scripts |
NOME |
Nome lógico do backup (basename da pasta atual) | scripts |
CRIPTO |
Tipo de criptografia (padrão: none) |
none |
cd ~/scripts
./borg_backup_pasta_corrente.sh
Resultado:
======================================================
💾 Backup da pasta corrente com BorgBackup
======================================================
Nome ...........: scripts
Origem .........: /home/paulosspacheco/scripts
Destino ........: /media/paulosspacheco/Novo volume/borg_backup
Ponto de montagem: /media/paulosspacheco/Novo volume
Script base ....: /home/paulosspacheco/scripts/borg_backup.sh
Criptografia ...: none
======================================================
Deseja iniciar o backup da pasta corrente '/home/paulosspacheco/scripts'? (s/n): s
Exibe um resumo amigável dos parâmetros detectados:
echo "Nome ...........: $NOME"
echo "Origem .........: $ORIGEM"
echo "Destino ........: $DESTINO"
echo "Ponto de montagem: $MONTAGEM"
echo "Script base ....: $SCRIPT_BASE"
Antes de executar o backup, o script valida:
Se o script base existe e é executável:
if [ ! -x "$SCRIPT_BASE" ]; then
echo "❌ O script base '$SCRIPT_BASE' não foi encontrado ou não tem permissão de execução."
exit 1
fi
Se o ponto de montagem está ativo:
if ! mountpoint -q "$MONTAGEM"; then
echo "⚠️ O destino '$MONTAGEM' não está montado!"
exit 1
fi
Se o diretório de destino existe:
if [ ! -d "$DESTINO" ]; then
mkdir -p "$DESTINO"
fi
Essas verificações evitam falhas como backup em disco não montado ou caminho incorreto.
Antes de iniciar o processo, há uma confirmação interativa:
read -p "Deseja iniciar o backup da pasta corrente '$ORIGEM'? (s/n): " CONFIRMA
Se o usuário responder “n”, a operação é cancelada com segurança.
Após a confirmação, o script executa o backup chamando diretamente o script base:
"$SCRIPT_BASE" "$NOME" "$ORIGEM" "$DESTINO" "$CRIPTO"
Isso garante que o backup use exatamente a mesma lógica padronizada definida em borg_backup.sh.
Ao concluir, o script valida o retorno da execução ($?) e exibe a mensagem apropriada:
if [ $? -eq 0 ]; then
echo "✅ Backup da pasta '$ORIGEM' concluído com sucesso!"
else
echo "❌ Ocorreu um erro durante o backup."
fi
Após a execução bem-sucedida, o backup é salvo dentro do destino configurado:
/media/paulosspacheco/Novo volume/borg_backup/
└── scripts/
└── borg-repo/
├── config
├── data/
├── index.123456
└── backups:
├── backup-2025-10-30
├── backup-2025-10-31
└── backup-2025-11-01
Cada backup incremental é nomeado automaticamente com a data do dia.
| Dependência | Descrição |
|---|---|
| borgbackup | Ferramenta principal para backups incrementais |
| bash (5.x) | Shell de execução |
| mountpoint | Verifica se o disco está montado |
| borg_backup.sh | Script base obrigatório |
======================================================
💾 Backup da pasta corrente com BorgBackup
======================================================
Nome ...........: scripts
Origem .........: /home/paulosspacheco/scripts
Destino ........: /media/paulosspacheco/Novo volume/borg_backup
Ponto de montagem: /media/paulosspacheco/Novo volume
Script base ....: /home/paulosspacheco/scripts/borg_backup.sh
Criptografia ...: none
======================================================
Deseja iniciar o backup da pasta corrente '/home/paulosspacheco/scripts'? (s/n): s
======================================================
🚀 Iniciando backup com borg_backup.sh ...
======================================================
======================================================
💾 Backup genérico com BorgBackup
======================================================
Nome ...........: scripts
Origem .........: /home/paulosspacheco/scripts
Destino ........: /media/paulosspacheco/Novo volume/borg_backup
Repositório ....: /media/paulosspacheco/Novo volume/borg_backup/scripts/borg-repo
Criptografia ...: none
======================================================
📦 Criando repositório Borg...
💾 Iniciando backup incremental (modo relativo)...
🧹 Limpando backups antigos...
✅ Backup concluído com sucesso!
✅ Backup da pasta '/home/paulosspacheco/scripts' concluído com sucesso!
Arquivos armazenados em: /media/paulosspacheco/Novo volume/borg_backup
Monte o disco de backup antes da execução:
mount | grep "Novo volume"
Mantenha o script base atualizado (borg_backup.sh).
Evite nomes de pasta com espaços (ou use aspas " ").
Execute como o usuário correto (sem sudo, salvo se necessário).
Verifique o log de backup para acompanhar execuções automáticas (crontab).
📘 Site oficial do BorgBackup: https://www.borgbackup.org/
📖 Documentação completa: https://borgbackup.readthedocs.io/en/stable/
💬 Comunidade Borg: https://github.com/borgbackup/borg/discussions
| Versão | Data | Alterações |
|---|---|---|
| 1.0 | 2025-10-30 | Versão inicial funcional |
| 1.1 | 2025-10-31 | Adicionadas verificações de montagem e criação automática de diretórios |
Paulo SSPacheco 💻 Automação e Infraestrutura Linux 📅 Outubro de 2025