Files
call-center/scripts/restore_data.ps1
T

31 lines
933 B
PowerShell

param(
[string]$BackupZip = "",
[string]$TargetDir = "e:\Zhan\.data"
)
if ($BackupZip -eq "") {
$latest = Get-ChildItem -Path "e:\Zhan\backups" -Filter "*.zip" -ErrorAction SilentlyContinue | Sort-Object LastWriteTime -Descending | Select-Object -First 1
if ($null -eq $latest) {
Write-Error "No backup zip found in e:\Zhan\backups and BackupZip not provided."
exit 1
}
$BackupZip = $latest.FullName
}
if (!(Test-Path $BackupZip)) {
Write-Error "Backup zip not found: $BackupZip"
exit 1
}
if (Test-Path $TargetDir) {
$bakDir = "$TargetDir.bak.$((Get-Date).ToString('yyyyMMdd_HHmmss'))"
Move-Item -Path $TargetDir -Destination $bakDir
Write-Host "Existing data moved to:" $bakDir
}
New-Item -ItemType Directory -Force -Path $TargetDir | Out-Null
Expand-Archive -Path $BackupZip -DestinationPath $TargetDir -Force
Write-Host "Data restored from:" $BackupZip
Write-Host "Target directory:" $TargetDir