Como posso executar um comando em erro de disco?

0

Sistema: Debian Squeeze

Para que serve: Um sistema em que qualquer disco novo é DoD Wiped.

Estou procurando um método para disparar um comando em um erro de disco que o kernel lança, às vezes obtemos discos defeituosos e ele só precisa ser raspado.

As linhas comuns nos logs são

Jan 15 10:34:33 drivekiller9k kernel: [339274.100020] usb 2-3: reset high speed USB device using ehci_hcd and address 51
Jan 15 10:34:33 drivekiller9k kernel: [339274.233729] sd 176:0:0:1: [sdl] Unhandled error code
Jan 15 10:34:33 drivekiller9k kernel: [339274.233733] sd 176:0:0:1: [sdl] Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK
Jan 15 10:34:33 drivekiller9k kernel: [339274.233737] sd 176:0:0:1: [sdl] CDB: Write(10): 2a 00 00 34 b8 70 00 00 f0 00
Jan 15 10:34:33 drivekiller9k kernel: [339274.233781] __ratelimit: 20 callbacks suppressed
Jan 15 10:34:33 drivekiller9k kernel: [339274.233815] lost page write due to I/O error on sdl

Eu gostaria de um método onde eu pudesse apenas executar um script de shell para matar o processo de limpeza e escrever em um log, qual seria o método apropriado para fazer isso?

    
por user554005 15.01.2013 / 17:42

2 respostas

0

Você pode usar smartmontools para monitorar a integridade do seu disco, usando o smartd demon fornecido. Alguns exemplos .

    
por 15.01.2013 / 18:45
0

você pode usar o Shell execute ACTION do rsyslog para acionar ações (por exemplo, seu script de recuperação) em determinadas entradas da mensagem de log. Veja man rsyslog.conf para detalhes.

    
por 16.01.2013 / 05:42