Initial commit
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
$ErrorActionPreference = "Stop"
|
||||
$timestamp = Get-Date -Format "yyyyMMdd-HHmmss"
|
||||
$backupDir = Join-Path $PSScriptRoot "..\backups\$timestamp"
|
||||
New-Item -ItemType Directory -Path $backupDir -Force | Out-Null
|
||||
|
||||
$dbUser = if ($env:POSTGRES_USER) { $env:POSTGRES_USER } else { "ielts_mock" }
|
||||
$dbName = if ($env:POSTGRES_DB) { $env:POSTGRES_DB } else { "ielts_mock" }
|
||||
|
||||
docker compose exec -T db pg_dump -U $dbUser -d $dbName -Fc -f /tmp/ielts-mock.dump
|
||||
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
|
||||
docker compose cp "db:/tmp/ielts-mock.dump" (Join-Path $backupDir "database.dump")
|
||||
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
|
||||
docker compose exec -T db rm -f /tmp/ielts-mock.dump
|
||||
|
||||
docker compose exec -T web tar -czf /tmp/ielts-media.tar.gz -C /app media
|
||||
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
|
||||
docker compose cp "web:/tmp/ielts-media.tar.gz" (Join-Path $backupDir "media.tar.gz")
|
||||
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
|
||||
docker compose exec -T web rm -f /tmp/ielts-media.tar.gz
|
||||
|
||||
Write-Host "Backup completed: $backupDir"
|
||||
Reference in New Issue
Block a user