33 lines
1.1 KiB
PowerShell
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
|
|
}
|