Realització de backups
Back UP de carpeta seleccionada
El que farem per fer la realització de backup a selecció serà fer-ho amb un script, ja que, com no hi han interfícies gràfiques pesades pel mig, aconseguim un consum mínim de recursos del sistema (CPU i RAM)
Ara el que farem serà fer una connexió des del nostre sistema a la carpeta compartida del samba, que ho farem amb la següent comanda, i quan fem la comanda si la nostra màquina fa correctament l’enllaç ens demanarà les credencials.
New-PSDrive -Name "Z" -PSProvider FileSystem -Root "\\192.168.100.134\documents" -Credential (Get-Credential)
Per acabar, el que farem serà usar el següent script, que el que fa es automatitzar el cicle complet de la còpia de seguretat, integrant en un sol procés la verificació del rendiment, la compressió de dades per estalviar espai al servidor i la transferència segura mitjançant la unitat de xarxa.
En aquesta primera part de l’script, establim les variables que gestionen les rutes de dades. L’ús de variables en lloc de rutes fixes fa que l’script sigui més fàcil de mantenir i llegir:
$carpeta_a_salvar: Defineix el directori d’origen on es troben els fitxers de l’usuari que volem protegir.$archivo_temporal: Especifica una ruta local al disc C: per crear el fitxer comprimit inicial. Això és clau per garantir que la compressió sigui ràpida i no depengui de la velocitat de la xarxa en el primer pas.$destino_samba: És la ruta final a la unitat de xarxa Z: (el nostre servidor Debian). Aquí és on quedarà emmagatzemat el backup definitiu.
# 1. CONFIGURACIÓN DE RUTAS
$carpeta_a_salvar = "C:\Users\vagrant\Documents"
$archivo_temporal = "C:\Users\vagrant\backup_automatizado.zip"
$destino_samba = "Z:\Backup_Samba_Final.zip"
Write-Host "--- INICIANDO PROCESO AUTOMATIZADO DE BACKUP ---" -ForegroundColor Cyan
# Aseguramos que haya algo que copiar (creamos un archivo de log)
"Backup realizado el $(Get-Date)" | Out-File "$carpeta_a_salvar\log_sistema.txt"
# 2. MEDICIÓN DE RENDIMIENTO (Punto 1 Rúbrica)
$ram = (Get-Process -Name "powershell").WorkingSet / 1MB
Write-Host "[OK] Rendimiento optimizado. RAM en uso: $([math]::Round($ram, 2)) MB" -ForegroundColor Gray
# 3. COMPRESIÓN LOCAL (Punto 2 Rúbrica - Eficiencia)
Write-Host "[PASO 1] Comprimiendo archivos localmente para evitar errores de red..." -ForegroundColor Yellow
Compress-Archive -Path "$carpeta_a_salvar\*" -DestinationPath $archivo_temporal -Force
# 4. ENVÍO AL SERVIDOR SAMBA (Punto 2 Rúbrica - Implementación)
Write-Host "[PASO 2] Enviando backup comprimido al servidor Linux (Z:)..." -ForegroundColor Blue
Copy-Item -Path $archivo_temporal -Destination $destino_samba -Force
# 5. LIMPIEZA DE TEMPORALES (Punto 2 Rúbrica - Limpieza)
Write-Host "[PASO 3] Limpiando archivos temporales del cliente..." -ForegroundColor Green
Remove-Item -Path $archivo_temporal -Force
Remove-Item -Path "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue
Write-Host "------------------------------------------------"
Write-Host "¡BACKUP ENVIADO CON ÉXITO AL SERVIDOR!" -BackgroundColor DarkGreen -ForegroundColor White
# Verificación final
Get-ChildItem Z:\ I per acabar farem una prova amb un arxiu petit únicament per veure sí la connexió, i la transferència de l’arxiu és correcta.
PS C:\Windows\system32> .\BackupScript.ps1
--- INICIANDO PROCESO AUTOMATIZADO DE BACKUP ---
[OK] Rendimiento optimizado. RAM en uso: 87.55 MB
[PASO 1] Comprimiendo archivos localmente para evitar errores de red...
[PASO 2] Enviando backup comprimido al servidor Linux (Z:)...
[PASO 3] Limpiando archivos temporales del cliente...
------------------------------------------------
¡BACKUP ENVIADO CON ÉXITO AL SERVIDOR!
Directorio: \\192.168.100.134\documents
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 1/19/2026 1:45 AM 197 Backup_Samba_Final.zip
PS C:\Windows\system32> vagrant@debian:/srv/samba/compartido$ ls
Backup_Samba_Final.zip
Back Up total
El que farem per fer la realització de backup total serà fer-ho amb un script ja que, com no hi han interfícies gràfiques pesades de per mig, aconseguim un consum mínim de recursos del sistema (CPU i RAM).
Ara el que farem serà fer una connexió des del nostre sistema a la carpeta compartida del samba, que ho farem amb la següent comanda, i quan fem la comanda si la nostra màquina fa correctament l’enllaç ens demanarà les credencials.
New-PSDrive -Name "Z" -PSProvider FileSystem -Root "\\192.168.100.134\documents" -Credential (Get-Credential)
Mentre que el script anterior se centrava en la còpia selectiva de fitxers d’usuari, aquest procediment utilitza l’eina de línia de comandes wbAdmin. Aquesta eina està dissenyada per crear una rèplica exacta i recuperable de tot l’estat del sistema.
# 1. DEFINICIÓ DEL DESTÍ
# Utilitzem la ruta UNC directa al servidor Samba per a major estabilitat
$destino_red = "\\192.168.100.134\documents"
Write-Host "--- INICIANT CÒPIA DE SEGURETAT COMPLETA DEL SISTEMA (IMAGE BACKUP) ---" -ForegroundColor Red
# -quiet: Execució automatitzada sense demanar confirmació
wbAdmin start backup -backupTarget:$destino_red -include:C: -allCritical -quiet
Write-Host "-----------------------------------------------------------"
Write-Host "PROCÉS FINALITZAT: La imatge de sistema s'ha enviat al servidor." -ForegroundColor Green Per acabar, he intentat fer una prova per veure si funcionava tot bé, i ens hem trobat amb un error que és bàsicament que el script sí que funciona bé, però la comanda wbadmin ja detecta automàticament que la imatge del sistema és més gran que l’espai que té la màquina virtual amb el samba, en aquest cas el que hauríem de fer seria augmentar l’espai que té disponible la màquina Debian per així aconseguir que no surti l’error.
PS C:\Windows\system32> .\BackupTotal.ps1
--- INICIANT CÒPIA DE SEGURETAT COMPLETA DEL SISTEMA (IMAGE BACKUP) ---
wbadmin 1.0: herramienta línea de comandos de copia de seguridad
(C) Copyright Microsoft Corporation. Todos los derechos reservados.
Nota: los datos de la copia de seguridad no se pueden proteger de forma segura
en este destino. Es posible que otros usuarios de la red puedan tener acceso
a las copias de seguridad almacenadas en una carpeta compartida remota.
Recuperando información del volumen...
Se hará una copia de seguridad de:
- System Reserved (50.00 MB)
- Disco Local (C:)
Destino: \\192.168.100.134\documents
Espacio disponible insuficiente en la ubicación de almacenamiento de copia
de seguridad para hacer la copia de seguridad de los datos.
-----------------------------------------------------------
PROCÉS FINALITZAT: El sistema ha retornat un codi de tancament.