Explore_the_limitless_possibilities

Backup de seguridad con Powershell

Vamos a crear un script y a programarlo para que realice backups de seguridad de las carpetas y ficheros que no importen, de una manera automatizada con powershell.

Para ello vamos a escribir el siguiente código (y a adaptarlo a las necesidades) con vuestro editor de código favorito.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Backup de seguridad con Powershell
# Configuración de la ubicación de destino para los archivos de respaldo
$destino = "C:\Ruta\De\Destino"

# Especificación de archivos y carpetas a respaldar
$archivosACopiar = @(
    "C:\Ruta\De\Archivo1.txt",
    "C:\Ruta\De\Carpeta1",
    "C:\Ruta\De\Carpeta2"
)

# Función para realizar la copia de seguridad
function RealizarCopiaDeSeguridad {
    # Crear un nombre de archivo único para el respaldo
    $fecha = Get-Date -Format "yyyyMMdd-HHmmss"
    $nombreArchivo = "CopiaDeSeguridad_$fecha.zip"
    $rutaCompleta = Join-Path -Path $destino -ChildPath $nombreArchivo
   
    # Comprimir los archivos y carpetas en un archivo ZIP
    Compress-Archive -Path $archivosACopiar -DestinationPath $rutaCompleta -Force
   
    Write-Host "Copia de seguridad completada. Archivo guardado en: $rutaCompleta"
}

# Programar copias de seguridad periódicas (ejemplo: cada domingo a las 2:00 AM)
$trigger = New-JobTrigger -Weekly -DaysOfWeek Sunday -At "2:00 AM"
Register-ScheduledJob -Name "CopiaDeSeguridadSemanal" -ScriptBlock { RealizarCopiaDeSeguridad } -Trigger $trigger

Write-Host "Copia de seguridad programada semanalmente. Archivos a respaldar:"
$archivosACopiar
Write-Host "Ubicación de destino de la copia de seguridad: $destino"

Para los que nos gusta entender qué es lo que estamos haciendo, a continuación explico cada apartado del script:

  1. Configuración inicial: Define la ubicación de destino para los archivos de backup y especifica los archivos y carpetas que se deben copiar.
  2. Función de copia de seguridad: Define una función llamada
    1
    RealizarCopiaDeSeguridad
    que crea un archivo ZIP con los archivos y carpetas especificados y lo guarda en la ubicación de destino.
  3. Programación de copias de seguridad periódicas: Programa una tarea de copia de seguridad semanal utilizando el módulo
    1
    ScheduledTasks
    . En este ejemplo, la copia de seguridad se programa para ejecutarse todos los domingos a las 2:00 AM.
  4. Mensaje informativo: Muestra un mensaje indicando los archivos a respaldar y la ubicación de destino de la copia de seguridad.

Recuerda modificar las rutas de los archivos y carpetas a guardar(

1
$archivosACopiar
) y la ubicación de destino (
1
$destino
) según tus necesidades. También puedes ajustar la programación de la copia de seguridad según tu preferencia, y de esta manera tendremos nuestro backup de seguridad con powershell.

Y ahora bien… ¿cuál es es tu editor de código favorito?

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Utilizamos "cookies" propias y de terceros para estadística y publicidad personalizada mediante análisis de su navegación. Si continúa navegando acepta su uso y se descartará este mensaje. Más información y política de cookies. ACEPTAR
Aviso de cookies