|
Tapes, comando tar y logging de errores
|
| Autor |
Mensaje |
dragonauta
Linux Registered User #436806
     
Mensajes: 538
Grupo: Super Moderador
Registro en: Nov 2006
Estado:
Sin Conexión
Reputación: 7
|
Tapes, comando tar y logging de errores
Buenas, más que nada quería compartir con ustedes algunas cosas que descubrí al tener que lidiar con unidades de cinta y el comando tar.
En mi laburo es frecuente que tenga que realizar visitas 'preventivas' a diferentes clientes, y allí chequear que los servidores funcionen correctamente.
Una de las cosas que nunca hace el cliente es VERIFICAR el backup. Y más de una vez me he encontrado con que las cintas están vacías.
Si bien esto lo hago siempre sobre Solaris, en Linux funciona de la misma manera.
Sin más preludio, he aquí una forma sencilla de almacenar los errores que surjan al realizar un backup.
#!/bin/bash
ERR=/var/log/bkperrors.log
BKP=/var/log/bkpdone.log
date >>$BKP
date >>$ERR
tar -cvf /dev/st0 datos_a_salvar >>$BKP 2>>$ERR
Explico:
el tar -cvf ya lo conocemos, luego con >> envío la salida estándar a un archivo (ahí voy a tener el listado de lo que se backupea.
Acá aparece lo interesante: hay un numerito "2". Este indica el nivel de error que quiero depurar (Advertencia: esto no aparecen en las MAN y se puede utilizar con cualquier comando)
Si hay errores, se guardarán en el segundo archivo, el cual direcciono con >>.
De esta manera queda:
Ejecuto tar -> salida de pantalla almacenada en archivo -> si hay errores se almacenan en otro.
Y al tener el date como encabezado de cada lista, es sencillo saber que día y a que hora tuvieron problemas.
Obviamente se puede mejorar el script y darle mas lujitos... pero para demostrar creo que sobra..
Saludos y ojalá a alguien le sirva
|
|
| 06-29-2007 11:50 AM |
|
 |
Whiskola
Flaming Cliff´s
   
Mensajes: 642
Grupo: Colaborador
Registro en: May 2005
Estado:
Ausente
Reputación: 8
|
RE: Tapes, comando tar y logging de errores
que buena data drago, justo yo toy viendo algo de tapes en linux y solaris
Administrador preguntaslinux.org
Moderador linux.org.ar
|
|
| 06-30-2007 03:45 PM |
|
 |
p_eter
Chaos Manager
      
Mensajes: 4,189
Grupo: Administrador
Registro en: Jun 2005
Estado:
Sin Conexión
Reputación: 12
|
RE: Tapes, comando tar y logging de errores
Parece que en Linux no es muy conocido, en cambio en host Unix (por su naturaleza multiusuario) si es muy utilizado para tener un mínimo control sobre todo para los procesos lanzados en background.
Breve explicación.
Cada vez que un shell se ejecuta se abren 3 ficheros automáticamente: stdin, stdout y stderr.
El archivo stdin está asocioado a la entrada standard (normalmente el teclado) y tiene asociado 0 como descriptor de fichero del lenguaje C.
Cuando un comando genera datos de salida utiliza el fichero stdout (descriptor 1) normalmente asociado a la pantalla.
El tercer fichero de salida estándar stderr se encarga de recoger los mensajes de error (asociado al descriptor 2) su salida se vuelca por omisión al igual que stdout a la pantalla.
Mediante la redirección de Entrada símbolo: "<" y Salida ">" o para 'concatenar' el ">>" podemos cambiar las E/S estándar por omisión a las convenientemente necesarias a nuestrs propósitos. Como tan bien nos ha ejemplificado nuestro amigo dragonauta.
Cierto, al shell le sería muy útil lanzar una alarma (mail/wall/..)
Este mensaje fue modificado por última vez en: 06-30-2007 08:46 PM por p_eter.
|
|
| 06-30-2007 06:24 PM |
|
 |
Emma
Usuario PL
Mensajes: 1
Grupo: Registrado
Registro en: Oct 2007
Estado:
Sin Conexión
Reputación: 0
|
RE: Tapes, comando tar y logging de errores
Hola me nombre es Emma, soy nueva.
Queria compartir algunas cosas con ustedes y hacerles una pregunta.
En mi trabajo tambien hacemos backups en cinta y usamos el comando tar.
El problema que tengo es no poder recuperar los datos de la cinta les comento cuales son mis pasos:
(Utilizo el comando mt para moverme en la cinta)
dc-cs-svr:~ # mt -f /dev/nst0 status (Veo el estado en que se encuentra la cinta)
drive type = Generic SCSI-2 tape
drive status = 1191182336
sense key error = 0
residue count = 0
file number = 0
block number = 0
Tape block size 0 bytes. Density code 0x47 (unknown).
Soft error count since last status=0
General status bits on (41010000):
BOT ONLINE IM_REP_EN
Hasta aca no tengo inconvenientes con la linea mt -f /dev/nst0 fsf 1 me muevo una posicion a traves de la cinta con la linea tar tvf /dev/nst0 | more veo el contenido del File number donde me pare antes. Entonces, por logica tomo un archivo cualquiera de esa lista para recupera haciendo uso de la linea tar -xpvf /dev/nst0 var/opt. Donde /dev/nst0 es mi unidad de cinta (Suse 9) y var/opt lo que quiero recuperar. Pero me surge el siguiente error:
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Archive contains obsolescent base-64 headers
tar: var/opt: Not found in archive
tar: Error exit delayed from previous errors
Les comento que solo realizamos un empaquetamiento de datos, no comprimimos los archivos.
Espero no haber pecado por exceso o por defecto. Nunca habia estado en un foro, asi que acepto sugerencias y criticas sobre mi dictado, :-)
Desde ya muchas gracias por la ayuda que puedan proporcionarme.
Gracias, por el saludo. 
Besos.
-- EMMA --
|
|
| 10-10-2007 10:42 AM |
|
 |
p_eter
Chaos Manager
      
Mensajes: 4,189
Grupo: Administrador
Registro en: Jun 2005
Estado:
Sin Conexión
Reputación: 12
|
RE: Tapes, comando tar y logging de errores
Mencionas a Suse 9.., desde esa misma máquina se grabó la cinta?
Parece no reconocer el bloqueo: "Tape block size 0 bytes. Density code 0x47 (unknown)."
Que tal si haces la prueba de grabar desde esa Suse9, posicionar y leer?
|
|
| 10-10-2007 02:33 PM |
|
 |