*Cube-Host– servicios completos en la nube!!

Copia de seguridad automática en VPS Windows

Automatic backup on Windows VPS

Qué y dónde guardar (breve lista de comprobación)

  • Objetos: volúmenes/archivos, estado del sistema (registro, gestor de arranque, etc.), datos de aplicaciones, si están disponibles (por ejemplo, MSSQL crea sus propios volcados).
  • Destino: disco duro VPS independiente, NAS/servidor de archivos a través de SMB, almacenamiento en la nube. Para el almacenamiento, solo el SISTEMA/los administradores deben tener derechos NTFS.
  • Directriz: diaria (incremental/completa, según el objetivo), semanal (completa), período de retención N versiones (por ejemplo, 14-30).
  • Criterios de disponibilidad: la copia de seguridad se ejecuta sin errores, el protocolo es legible y la restauración de prueba se realiza periódicamente.

Instalación del componente Windows Server Backup (WSB)

WSB es una herramienta integrada en el sistema operativo que puede procesar el estado del sistema, volúmenes y archivos, y se ejecuta según un calendario.

				
					Get-WindowsFeature Windows-Server-Backup
Add-WindowsFeature Windows-Server-Backup -IncludeAllSubFeature
				
			
Windows Vps

Prepare la carpeta de destino y los permisos

Cree un directorio independiente para el almacenamiento en red y conceda permisos de lectura y escritura solo al SISTEMA, a los administradores de dominio (o administradores locales) y, si es necesario, a los objetos de equipo de origen.

Windows Vps

Importante: al realizar una copia de seguridad en una carpeta de red, el programa estándar «wbadmin.msc» solo guarda una copia «actual». Para muchas versiones utilizamos «wbadmin.exe» + nuestra propia rotación (véase más abajo).

Script wbadmin: copia de seguridad diaria en carpetas con la fecha

Cree una carpeta como \\backup-srv\winvps01$\YYYY-MM-DD e inicie la copia de seguridad. Utilice -systemState para el estado del sistema y -include:C:,D: para los volúmenes.

				
					$Base=“\\backup-srv\winvps01$\# replace with your layer/disk
$Date=Get-Date -Format ”yyyy-MM-dd"
$Target=Join-Path $Base $Date
if (-not (Test-Path $Target)) { New-Item -ItemType Directory -Path $Target | Out-Null }

# Option A: System State
$cmd = “wbadmin start backup -backuptarget:$Target -systemState -noverify -vssCopy -quiet”

# Option B: specified volumes (+critical)
# $cmd = “wbadmin start backup -backuptarget:”+$Target+“ -include:C:,D: -allCritical -quiet”

Invoke-Expression $cmd
				
			

Escenario con una carpeta «por fecha», ejecución de wbadmin y ejemplos de protocolos

				
					Import-Module ServerManager

$string $date = get-date -f 'yyyy-MM-dd'
$path="\\<server>\col\backup\dcl\"
$TargetUNC = "$path$date"

$TestTargetUNC = Test-Path -Path $TargetUNC
if (!($TestTargetUNC)) {
    New-Item -Path $TargetUNC -ItemType directory
}

$WBadmin_cmd = "wbadmin.exe START BACKUP -backupTarget:$TargetUNC -systemState -noverify -vssCopy"

Invoke-Expression $WBadmin_cmd
				
			

Dónde puede consultar los registros: C:\Windows\Logs\WindowsServerBackup\*.log

Windows Vps

En un disco duro conectado localmente, puede limitar el número de versiones de forma predeterminada:

				
					wbadmin delete backup -keepVersions:10 -quiet
				
			

Programador: inicio automático del script

Opción a través de la GUI

taskschd.msc → Crear tarea… → Mejor iniciar a través de SISTEMA + Ejecutar con privilegios máximos → Configurar desencadenador y acción powershell.exe -NoProfile -ExecutionPolicy Bypass -File C:\PS\Backup.ps1.

Windows Vps
Windows Vps
Windows Vps
Windows Vps
Windows Vps

Opción a través de PowerShell

				
					$Trigger=New-ScheduledTaskTrigger -Daily -At 1:00am
$Action =New-ScheduledTaskAction -Execute "PowerShell.exe" `
  -Argument "-NoProfile -ExecutionPolicy Bypass -File C:\PS\Backup.ps1"
Register-ScheduledTask -TaskName "VPS-DailyBackup" -Trigger $Trigger `
  -User "NT AUTHORITY\SYSTEM" -Action $Action -RunLevel Highest -Force
				
			

La alternativa todo en uno:

				
					wbadmin enable backup -addtarget:E: -schedule:01:00 -include:C:,D: -quiet
				
			

Crea un plan diario con WSB. Sintaxis: en Microsoft Learn.

«Versiones rápidas» para archivos: Robocopy (+ carpeta diaria)

Para el catálogo de datos (sitios web, cargas), resulta práctico crear instantáneas de carpetas por fecha:

				
					@echo off
set date_=%date:/=-%
set src=D:\Data
set dst=\\backup-srv\winvps01$\%date_%
mkdir "%dst%"
robocopy "%src%" "%dst%" /E /COPYALL /Z /J /R:3 /W:1 /LOG+:C:\Logs\robocopy.log
				
			
Windows Vps

Active las instantáneas VSS (copias de sombra) para una «recuperación rápida».

Las copias de sombra proporcionan «versiones anteriores» y le ayudan a recuperar rápidamente archivos individuales sin necesidad de realizar copias de seguridad exhaustivas. En un dominio, es práctico activar VSS con directivas y crear instantáneas con un script/planificador.

Active el servicio «Volume Shadow Copy» (tipo de inicio: automático).

Windows Vps

Cree regularmente una instantánea (ejemplo con vshadow.exe) y reserve entre el 10 y el 20 % del disco duro para copias sombra.
Lista de instantáneas: vssadmin list shadows → anote el ID de la copia sombra.

Windows Vps

Monte una instantánea específica (de solo lectura) y copie los archivos:

				
					 vshadow -el={GUID},Z:
				
			
Windows Vps

VSS y base de volumen sombra: en Microsoft Learn.

Comprobar, supervisar, rotar

  • Prueba de recuperación: monte periódicamente VHDX/carpetas con la fecha y recupere algunos archivos «en el escritorio». Utilice procedimientos de perfil (AD, MSSQL, etc.) para funciones críticas.
  • Registros y códigos de retorno: registros de WindowsServerBackup, códigos de retorno (máscara) para Robocopy.
  • Rotación: elimine las carpetas antiguas por fecha (PowerShell) y/o wbadmin delete backup -keepVersions:N.
  • Planifique wbadmin enable backup: configuración y sintaxis en la ayuda de Microsoft.

Problemas comunes y soluciones

  • Se muestra que solo hay una copia almacenada en el destino de red. Esta es una limitación del asistente WSB. Utilice wbadmin + carpetas por fecha (como en el script anterior).
  • El programador se cuelga o solicita una contraseña. Ejecute el programa desde SYSTEM con Ejecutar con los privilegios más altos; compruebe el permiso Iniciar sesión como trabajo por lotes y los argumentos -ExecutionPolicy Bypass.
  • No hay espacio de almacenamiento para VSS. Aumente la cuota del volumen (10-20 %), compruebe la programación de la creación/eliminación de instantáneas.