Files
aggios.app/scripts/backup-db.ps1
2025-12-17 13:36:23 -03:00

33 lines
1.1 KiB
PowerShell

# Backup automatico do banco de dados PostgreSQL
# Execute este script ANTES de qualquer docker-compose down
$BACKUP_DIR = "g:\Projetos\aggios-app\backups"
$TIMESTAMP = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
$BACKUP_FILE = "$BACKUP_DIR\aggios_backup_$TIMESTAMP.sql"
# Cria diretorio de backup se nao existir
if (!(Test-Path $BACKUP_DIR)) {
New-Item -ItemType Directory -Path $BACKUP_DIR
}
Write-Host "Fazendo backup do banco de dados..." -ForegroundColor Yellow
# Faz o backup
docker exec aggios-postgres pg_dump -U aggios aggios_db > $BACKUP_FILE
if ($LASTEXITCODE -eq 0) {
$fileSize = (Get-Item $BACKUP_FILE).Length / 1KB
Write-Host "Backup criado com sucesso: $BACKUP_FILE ($([math]::Round($fileSize, 2)) KB)" -ForegroundColor Green
# Mantem apenas os ultimos 10 backups
Get-ChildItem $BACKUP_DIR -Filter "aggios_backup_*.sql" |
Sort-Object LastWriteTime -Descending |
Select-Object -Skip 10 |
Remove-Item -Force
Write-Host "Backups antigos limpos (mantidos ultimos 10)" -ForegroundColor Cyan
} else {
Write-Host "Erro ao criar backup!" -ForegroundColor Red
exit 1
}