Como hacer copias de seguridad en cintas con Linux con tar

tapePor si acaso alguno ha estado peleándose con esto os dejo una pequeño artículo resumen.

Las unidades de cinta SCSI normalmente las detecta linux (en nuestro caso Ubuntu) como /dev/st0
Veréis que también tenéis unas unidades llamadas /dev/nst0  es la misma pero el truco es este:

/dev/st0 –> Al realizar un proceso con respecto a la cinta, automáticamente la rebobina.
/dev/nst0 –> No rebobina la cinta de forma automática.
Por lo tanto los comandos siguientes podéis usarlos con cualquiera de las unidades dependiendo si queréis que rebobine o no.

Los comandos más usados son:

  • Ver el estado de la cinta:  mt -f /dev/nst0 status
  • Rebobinar la cinta:  mt -f /dev/nst0 rewind
  • Expulsar la cinta: mt -f /dev/nst0 eject
  • Borrar la cinta:  mt -f /dev/nst0 erase  CUIDADO: no lo recomiendo tarda muchíiiisimo y no hay manera de pararlo.
  • Ir al final de la cinta:  mt -f /dev/nst0 eod
  • Buscar el siguiente registrso: mt -f /dev/nst0 fsf 1  Con  mt -f /dev/nst0 fsf x  avanzas x registros o sesiones
  • Buscar el anterior registro: mt -f /dev/nst0 bsfm 1 Con  mt -f /dev/nst0  bsfm x  retrocedes x registros o sesiones.
  • Ver en qué bloque estás: mt -f /dev/st0 tell

-Para hacer una copia de seguridad de tus datos, por ejemplo de la carpeta /home/david:

tar -cvzf /dev/nst0 /home/david

Nota: la v es para mostrar el resultado en pantalla. Si no queréis no lo pongáis.

Si usas el nst0 como no rebobina las copias posteriores irán metiéndose detrás de lo que has grabado.
En teoría (esto no lo he probado) puedes usar varias cintas con:
tar -clpMzvf /dev/st0 /home/david

-Para ver el  contenido de tu cinta tienes que rebobinar primero (ver arriba) y luego:
tar -tzf /dev/nst0
Si tienes varias sesiones puedes ir repitiendo el mismo comando (va avanzando por las sesiones consecutivamente) o ir directamente al registro que quieras avanzando con las órdenes de avanzar de arriba.

-Para comparar tu copia de seguridad con un directorio:
tar -dlpMzvf /dev/st0 /home/david

-Para restaurarla ponte en la carpeta que quieras y tienes que encontrar la sesión donde está en la cinta. Puedes ir directamente con  mt -f /dev/nst0 fsf 2 si está en la sesión 2 (por ejemplo) y si has rebobinado antes.
Después haces:
tar xvf /dev/nst0

Si quieres recuperar sólo un directorio pon  tar xvf /dev/nst0 eldirectorio

Recuerda que en la cinta quita el / del principio así que al restaurar si quieres restaurar /home/david tendrás que ponerte en el /. Si lo haces desde /home/david te creará un /home/home/david

Más información aquí, aquí y aquí.

Evidentemente puedes poner esto en un script y en cron y se puede hacer incremental.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s