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

Cierto, al shell le sería muy útil lanzar una alarma (mail/wall/..)