Práctica 4: Backup en un NAS con cron (Ubuntu Server)¶
Práctica ampliación: Copias de seguridad automatizadas en un NAS con cron (Ubuntu Server)¶
Introducción¶
En esta práctica se aprenderá a realizar copias de seguridad automáticas de un sistema Linux (Ubuntu Server) hacia un NAS (OpenMediaVault) utilizando un script personalizado y el programador de tareas cron. Se cubrirán los pasos necesarios para montar la carpeta compartida del NAS, crear el script de backup, programar la tarea y restaurar datos desde el NAS.
0) Objetivos de aprendizaje¶
- Comprender la diferencia entre RAID y copia de seguridad.
- Aprender a crear copias de seguridad locales y remotas en un NAS con OMV.
- Programar tareas automáticas con cron en Linux.
- Probar la restauración de datos desde el NAS.
1) Escenario de partida¶
Se parte de la práctica anterior, con un NAS OpenMediaVault (OMV) ya configurado, con:
- Una carpeta compartida accesible desde Linux vía NFS o SMB.
- Red en funcionamiento (por ejemplo
192.168.1.0/24). - Un equipo cliente Ubuntu Server desde el que se realizará la copia.
Ejemplo de configuración¶
- Carpeta compartida en el NAS:
/backup_clientes - IP del NAS:
192.168.1.50 - Carpeta del sistema a respaldar:
/etc
2) Preparación en el NAS (OMV)¶
- En la interfaz web de OMV, crea una carpeta compartida llamada backup_clientes:
- Menú: Almacenamiento → Carpetas compartidas → Añadir
- Volumen:
DATOS - Permisos: lectura/escritura para el grupo de alumnos.
- Habilita el acceso desde el cliente Linux:
- Si usas NFS: ve a Servicios → NFS → Exportaciones → Añadir
- Carpeta:
backup_clientes - Permitir acceso desde:
192.168.1.0/24 - Modo: lectura/escritura
- Guarda y aplica.
- Carpeta:
- Si usas SMB: crea un recurso compartido
backup_clientescon acceso para el usuario de copia.
3) Montar la carpeta compartida en el cliente Ubuntu Server¶
Opcion A: vía NFS¶
sudo apt update
sudo apt install nfs-common -y
sudo mkdir -p /mnt/nas_backup
sudo mount -t nfs 192.168.1.50:/backup_clientes /mnt/nas_backup
Comprobar acceso:
touch /mnt/nas_backup/prueba.txt
ls -l /mnt/nas_backup
Opcion B: vía SMB¶
sudo apt install cifs-utils -y
sudo mkdir -p /mnt/nas_backup
sudo mount -t cifs //192.168.1.50/backup_clientes /mnt/nas_backup -o username=usuario,password=contraseña
Comprobar acceso:
touch /mnt/nas_backup/test.txt
ls /mnt/nas_backup
Información
Para montar automáticamente al inicio, añade la entrada en /etc/fstab.
4) Crear el script de copia de seguridad¶
-
Crear el archivo de script:
sudo nano /usr/local/bin/backup_nas.sh -
Contenido del script:
#!/bin/bash # Script de copia de seguridad hacia el NAS ORIGEN="/etc" DESTINO="/mnt/nas_backup/$(hostname)_backup_$(date +%Y%m%d_%H%M%S).tar.gz" tar -czf "$DESTINO" "$ORIGEN" echo "$(date): Copia de seguridad completada -> $DESTINO" >> /var/log/backup_nas.log - Dar permisos de ejecución:
sudo chmod +x /usr/local/bin/backup_nas.sh
sudo /usr/local/bin/backup_nas.sh
ls /mnt/nas_backup
cat /var/log/backup_nas.log
5) Programar la tarea con cron¶
-
Editar el cron del sistema:
sudo crontab -e -
Añadir la tarea (ejemplo: ejecutar cada día a las 2:00 AM):
0 2 * * * /usr/local/bin/backup_nas.sh - Guardar y verificar:
sudo crontab -l
Información
El sistema ejecutará la copia automáticamente a la hora indicada.
6) Restaurar una copia de seguridad¶
- Listar copias disponibles:
Ejemplo de salida:
ls /mnt/nas_backupubuntu-server_backup_20251110_020000.tar.gz - Crear directorio temporal de restauración:
mkdir ~/restauracion_etc - Extraer contenido:
tar -xzf /mnt/nas_backup/ubuntu-server_backup_20251110_020000.tar.gz -C ~/restauracion_etc - Comprobar contenido restaurado:
ls ~/restauracion_etc/etc/ - Restaurar un archivo específico (ejemplo
hosts):sudo cp ~/restauracion_etc/etc/hosts /etc/hosts
7) Entregable de la práctica¶
Un informe en formato PDF que incluya:
- Capturas o comandos que demuestren:
- Montaje correcto del NAS (
mounto/etc/fstab). - Script de backup funcionando.
- Archivo de copia generado en el NAS.
- Registro
/var/log/backup_nas.log. - Entrada en
crontab -l. - Restauración de la copia.
8) Rúbrica de evaluación¶
| Criterio | Ponderación |
|---|---|
| Montaje correcto del NAS (NFS o SMB) | 15% |
| Script funcional y probado | 25% |
| Programación automática con cron | 25% |
| Restauración completa y verificada | 25% |
| Claridad de documentación y evidencias | 10% |
9) Extensiones opcionales¶
- Sustituir
tarporrsyncpara copias incrementales:rsync -av --delete /etc/ /mnt/nas_backup/etc_incremental/ - Implementar rotación de copias (mantener solo las 5 últimas).
- Enviar correo tras la copia (con
mailossmtp). - Configurar montaje automático del NAS en
/etc/fstab.
Resultado esperado¶
El equipo Ubuntu Server debe:
- Realizar automáticamente copias comprimidas de
/etchacia el NAS. - Registrar la actividad en
/var/log/backup_nas.log. - Permitir restaurar ficheros específicos en caso de pérdida.
- Mantener las copias accesibles desde OMV para su verificación.