Bash: Script que controla a MySQL

Imagino que hablar de controlar se me antoja demasiado duro, pero bueno, una máquina que nos trae fritos con la carga de MySQL y todavía no hemos localizado el motivo, así que dejo esto en el cron:
#!/bin/bash
LOG_FILE=\'/var/log/compruebamysql.log\'
MYSQL_PID=`pidof mysqld`
CPU_LOAD=`ps up $MYSQL_PID | tail -1 | awk \'{ print $3 }\'`
CPU_LOAD2=`echo $CPU_LOAD | sed \"s/\\./\\,/g\"`
CPU_INT=`printf \"%.0f\" $CPU_LOAD2`

if [ \"$CPU_INT\" -gt \"80\" ]; then
        echo \"[ `date +\'%d-%B-%G %H:%M:%S\'` ] - Se ha reiniciado MySQL por sobrecarga\" >> $LOG_FILE
        /etc/init.d/mysqld restart
fi
Tan simple como comprobar que la carga de CPU no excede un porcentaje concreto (el 80% en este caso) para hacer un restart y escurrir el problema. Sé que no es óptimo pero espero que me cubra algunos días.

About the author

Óscar
has doubledaddy super powers, father of Hugo and Nico, husband of Marta, *nix user, Djangonaut and open source passionate.