En aquest tema, aprendrem a crear scripts en Bash per automatitzar les tasques de còpia de seguretat i restauració de dades. Aquestes tasques són essencials per garantir la seguretat i la integritat de la informació en sistemes informàtics.

Objectius

  • Entendre la importància de les còpies de seguretat.
  • Aprendre a crear scripts per fer còpies de seguretat de fitxers i directoris.
  • Aprendre a restaurar dades des de còpies de seguretat.
  • Implementar estratègies de còpia de seguretat eficients.

Conceptes Clau

  • Còpia de Seguretat (Backup): Procés de copiar dades per protegir-les en cas de pèrdua o dany.
  • Restauració (Restore): Procés de recuperar dades des d'una còpia de seguretat.
  • Incremental Backup: Còpia de seguretat que només inclou els fitxers que han canviat des de l'última còpia de seguretat.
  • Full Backup: Còpia de seguretat completa de tots els fitxers i directoris especificats.

Estructura del Tema

  1. Introducció a les Còpies de Seguretat
  2. Creació d'un Script de Còpia de Seguretat
  3. Creació d'un Script de Restauració
  4. Estratègies de Còpia de Seguretat
  5. Exercicis Pràctics

  1. Introducció a les Còpies de Seguretat

Les còpies de seguretat són essencials per protegir les dades contra pèrdues accidentals, errors humans, fallades de maquinari o atacs maliciosos. Hi ha diverses estratègies de còpia de seguretat, com ara còpies completes, incrementals i diferencials.

  1. Creació d'un Script de Còpia de Seguretat

A continuació, crearem un script bàsic per fer una còpia de seguretat d'un directori especificat.

Exemple de Script de Còpia de Seguretat

#!/bin/bash

# Directori a fer la còpia de seguretat
SOURCE_DIR="/path/to/source"

# Directori on es guardarà la còpia de seguretat
BACKUP_DIR="/path/to/backup"

# Nom del fitxer de còpia de seguretat amb data i hora
BACKUP_FILE="$BACKUP_DIR/backup_$(date +%Y%m%d_%H%M%S).tar.gz"

# Crear la còpia de seguretat
tar -czf $BACKUP_FILE $SOURCE_DIR

# Verificar si la còpia de seguretat s'ha creat correctament
if [ $? -eq 0 ]; then
    echo "Còpia de seguretat creada correctament: $BACKUP_FILE"
else
    echo "Error en crear la còpia de seguretat"
fi

Explicació del Codi

  • SOURCE_DIR: Directori que volem fer la còpia de seguretat.
  • BACKUP_DIR: Directori on es guardarà la còpia de seguretat.
  • BACKUP_FILE: Nom del fitxer de còpia de seguretat, incloent la data i l'hora per identificar-lo fàcilment.
  • tar -czf: Comanda per crear un arxiu comprimit en format tar.gz.
  • if [ $? -eq 0 ]; then ... fi: Verifica si la comanda anterior s'ha executat correctament.

  1. Creació d'un Script de Restauració

Ara crearem un script per restaurar les dades des d'una còpia de seguretat.

Exemple de Script de Restauració

#!/bin/bash

# Fitxer de còpia de seguretat a restaurar
BACKUP_FILE="/path/to/backup/backup_YYYYMMDD_HHMMSS.tar.gz"

# Directori de destinació per restaurar les dades
DEST_DIR="/path/to/destination"

# Restaurar la còpia de seguretat
tar -xzf $BACKUP_FILE -C $DEST_DIR

# Verificar si la restauració s'ha completat correctament
if [ $? -eq 0 ]; then
    echo "Restauració completada correctament a: $DEST_DIR"
else
    echo "Error en restaurar la còpia de seguretat"
fi

Explicació del Codi

  • BACKUP_FILE: Fitxer de còpia de seguretat que volem restaurar.
  • DEST_DIR: Directori on es restauraran les dades.
  • tar -xzf: Comanda per extreure un arxiu comprimit en format tar.gz.
  • if [ $? -eq 0 ]; then ... fi: Verifica si la comanda anterior s'ha executat correctament.

  1. Estratègies de Còpia de Seguretat

Còpia de Seguretat Completa

  • Avantatges: Senzilla i fàcil de restaurar.
  • Desavantatges: Requereix més espai d'emmagatzematge i temps.

Còpia de Seguretat Incremental

  • Avantatges: Estalvia espai i temps.
  • Desavantatges: La restauració pot ser més complexa, ja que requereix múltiples còpies de seguretat.

Còpia de Seguretat Diferencial

  • Avantatges: Compromís entre còpia completa i incremental.
  • Desavantatges: Requereix més espai que la incremental però menys que la completa.

  1. Exercicis Pràctics

Exercici 1: Crear un Script de Còpia de Seguretat Incremental

Crea un script que faci còpies de seguretat incrementals dels fitxers modificats en les últimes 24 hores.

Exercici 2: Automatitzar la Còpia de Seguretat amb Cron

Configura una tasca cron per executar el teu script de còpia de seguretat cada dia a les 2:00 AM.

Solucions

Solució a l'Exercici 1

#!/bin/bash

# Directori a fer la còpia de seguretat
SOURCE_DIR="/path/to/source"

# Directori on es guardarà la còpia de seguretat
BACKUP_DIR="/path/to/backup"

# Nom del fitxer de còpia de seguretat amb data i hora
BACKUP_FILE="$BACKUP_DIR/backup_incremental_$(date +%Y%m%d_%H%M%S).tar.gz"

# Crear la còpia de seguretat incremental
find $SOURCE_DIR -type f -mtime -1 | tar -czf $BACKUP_FILE -T -

# Verificar si la còpia de seguretat s'ha creat correctament
if [ $? -eq 0 ]; then
    echo "Còpia de seguretat incremental creada correctament: $BACKUP_FILE"
else
    echo "Error en crear la còpia de seguretat incremental"
fi

Solució a l'Exercici 2

Edita el fitxer crontab amb crontab -e i afegeix la següent línia:

0 2 * * * /path/to/your/backup_script.sh

Conclusió

En aquest tema, hem après a crear scripts de còpia de seguretat i restauració en Bash, així com a implementar estratègies de còpia de seguretat eficients. Aquestes habilitats són fonamentals per garantir la seguretat i la integritat de les dades en qualsevol sistema informàtic.

© Copyright 2024. Tots els drets reservats