I'd like to provide better scripts with watchdog. So if you use your own
script/binary to test the state of your system resp. to act as repair
script, please mail me a copy so I can include it here.

Michael
<meskes@debian.org>
