Hacer una copia de seguridad o copia de respaldo (backup en inglés) se refiere a la copia de datos de tal forma que estas copias adicionales puedan restaurar un sistema después de una pérdida de información.
La copia de seguridad es útil por varias razones:
- Para restaurar un ordenador a un estado operacional después de un desastre (copias de seguridad del sistema)
- Para restaurar un pequeño número de ficheros después de que hayan sido borrados o dañados accidentalmente (copias de seguridad de datos).
- En el mundo de la empresa, además es útil y obligatorio, para evitar ser sancionado por los órganos de control en materia de protección de datos. Por ejemplo, en España la Agencia Española de Protección de Datos (AEPD)
Normalmente las copias de seguridad se suelen hacer en cintas magnéticas, si bien dependiendo de lo que se trate podrían usarse disquetes, CD, DVD, discos ZIP, JAZ o magnético-ópticos, pendrives o pueden realizarse sobre un centro de respaldo remoto propio o vía internet.
La copia de seguridad puede realizarse sobre los datos, en los cuales se incluyen también archivos que formen parte del sistema operativo. Así las copias de seguridad suelen ser utilizadas como la última línea de defensa contra pérdida de datos, y se convierten por lo tanto en el último recurso a utilizar.
Las copias de seguridad en un sistema informático tienen por objetivo el mantener cierta capacidad de recuperación de la información ante posibles pérdidas. Esta capacidad puede llegar a ser algo muy importante, incluso crítico, para las empresas. Se han dado casos de empresas que han llegado a desaparecer ante la imposibilidad de recuperar sus sistemas al estado anterior a que se produjese un incidente de seguridad grave.
Veamos como se pueden hacer copias de seguridad manualmente, sin el uso de ningún programa que nos lo haga automático me refiero:
dd [ if=/DispositivoEntradaDatos ] [ of=/DispositivoSalida ] [ ibs=TamañoBloqueEntrada ] [ obs=TamañoBloqueSalida ] [ bs=TamañoBloqueSalidaEntrada ] [ count=NºBloques ] [ skip=NºBloqueSalidaIf ] [ seek=NºBloqueSalidaOf ]
Vuelca los datos de un dispositivo de entrada especificado en if(Input File) a un dispositivo de salida especificado por un of(Output File). El tamaño de los datos se especifica por ibs, obs, bs y count.
ibs=TamañoBloque --> Input Block Size, tamaño de bloque de los datos en el dispostivo de entrada.
obs=TamañoBloque --> Output Block Size, tamaño bloque de los datos cuando se guarda en el dispositivo de salida.
Si ibs=obs directamente se pone bs=TamañoBloque.
count=NºBloques --> Nº de Bloques de datos de tamaño obs que se van a crear en el dispositivo de salida of (el tamaño del dispositivo de salida es count * obs en bytes).
skip=NºBloques --> Salto de bloques del dispositivo de entrada de datos y no se leen.
albertjh@portatil:~$ dd if=/dev/cdrom of=/dev/dvd ibs=1024 obs=4096 skip=5
seek=NºBloques --> Salto ese número de bloques en el dispositivo de salida (no se machacan).
Veamos un par de ejemplos que he estado preparando:
- Crear una imagen ISO de un cd/dvd:
dd if=/dev/cdrom of=/ruta/fichero.iso bs=1024 - Hacer una copia de seguridad del MBR de un disco duro:
dd if=/dev/nombre_Directorio of=/dev/pendrive bs=512 count=1 - Como restituir el MBR copiado de un disco duro:
- Arranca desde un live cd.
- Desde un shell:
dd if=/dev/pendrive of=/dev/nombre_Directoriobs=512 count=1
- Copia de seguridad de una partición de un disco de datos window$ situada en /dev/sda3 a un fichero ISO:
dd if=/dev/sda3 of=/ruta/bkp.iso
Uno más preciso:
dd if=/dev/sda3 of=/ruta/bkp.iso ibs=4096 obs=1024
Si no se especifica ni if ni of se toma como:
if=stdin y como of=stdout
Un pequeño ejemplo de dd:
-
#! /bin/bash
-
clear
-
echo "Pulsa 10 teclas... "
-
teclas=`dd bs=1 count=10 2>/dev/null`
-
echo "Has pulsado las teclas $teclas"
tar [ -x | -c | -t | -u ] [ -opciones ] ficheroTar directorio1 [ directorio2... ]
Vuelca información de estos directorios en el fichero indicado con un nombre *.tar.
-c --> Especificas que vas a crear un fichero *.tar con la información de esos directorios.
albertjh@portatil:~$ tar -cf /tmp/copia_etc.tar /etc
-x --> Extrae toda la información del fichero *.tar en el directorio actual.
albertjh@portatil:~$ tar -xf /tmp/copia_etc.tar
-t --> Muestra todo el contenido de un fichero *.tar, no lo extrae.
albertjh@portatil:~$ tar -tf /tmp/copia_etc.tar
-u --> Añade a un fichero existente el contenido de otro(s) directorio(s).
albertjh@portatil:~$ tar -uf /tmp/copia_etc.tar /tmp /bin
Opciones:
-f --> Especificas que es un fichero, por que antiguamente se guadaba sobre cintas las copias de seguridad.
-z --> Lo comprime con el comando gzip "tar.gz". Es conveniente siempre si se comprimen los datos, poner el nombre del fichero como *.tar.gz
albertjh@portatil:~$ tar -cfz /tmp/copia_etc.tar.gz /etc
Para extraer la información con -xz
-v --> Verbose, te muestra lo que va haciendo.
-j --> Compresión más fuerte almacenadas con el comando bzip "tar.bz"
albertjh@portatil:~$ tar -cfj /tmp/copia_etc.tar.bz /etc
Hay otros métodos de hacer un backup (integrales / diferenciales) con dump si quieres más información sobre ello usa el manual, para restaurar un backup se hace con restore.
Para más información:
- Copias de seguridad con rsync.
- Comando cpio.
- Programa para hacer copias de seguridad: partimage
On this day...
- 2008: El impactante desarrollo de Wine — Escribío: Ángel
Wine es una aplicación de Linux que consigue ejecutar nativamente los programas de Windows en Linux.
Actualmente la versión [...] - 2007: Montar una grabación de tu escritorio — Bueno, en principio solo iba destinado a una aplicacion... pero ya que me pongo, comentaré tres estupendos programas, que aunque [...]
- 2007: TesT Friki — Con el frikitest descubrirás tu nivel de frkismo/ñoñería.
¡¡Ahora con más de 1 000 preguntas!!Me dispuse a hacerlo y estos [...] - 2007: Instalar TLS para aMsn — Poooooooooooorque!!! eso es lo que me estuve preguntando durante 2 horas, hasta que di con la solución, absurda pero di [...]





Entradas (RSS)
Otro de los clásicos de toda la vida para hacer backups en UNIX es cpio. Va a la par con tar.
Por otra parte, además de copiar el MBR, yo haría una copia de la tabla de particiones con sfdisk, ya que las particiones extendidas no están en el MBR:
sfdisk -d /dev/hda > backup-hda.sf
sfdisk /dev/hda < backup-hda.sf
Para hacer un backup completo de una partición, yo uso mucho el partimage, que es mejor que el dd porque no copia los espacios de la partición no usados por ningún fichero.
Y finalmente, te dejas lo mejor de lo mejor para hacer backups, el glorioso rsync: Backups con rsync.
Saludos