rendered paste body#!/bin/bash
### Needs more checking?
### Needs to notify admin that it's run?
### Needs testing? How can create crached databases?
### User-definable Aliases
DATABASE_DIR=/var/lib/mysql/mythconverg
CHECK_COMMAND=$(myisamchk --update-state -s *.MYI)
FIX_COMMAND=$(myisamchk -r)
MYSQLD=/etc/init.d/mysql
MYTHTV_BACKEND=/etc/init.d/mythtv-backed
### Functions
function stop_services {
$MYSQLD stop
$MYTHTV_BACKEND stop
}
function start_services {
$MYSQLD start
$MYTHTV_BACKEND start
}
function grab_broken {
BROKEN_DATABASES=$($CHECK_COMMAND | grep MYI | grep myisamchk | cut -d' ' -f4)
}
function fix_broken {
while read LINE
do
$FIX_COMMAND "$LINE"
done <<< "$BROKEN_DATABASES"
}
#### Main
stop_services
grab_broken
fix_broken
start_services