Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/02/2011, 20:41
el_apronte
 
Fecha de Ingreso: enero-2009
Mensajes: 165
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: restart mysql

dejo otro script que encontré para correr con cronjob...
yo busco algo mas sencillo como el primero que solo se ejecute cuando no consiga conectar a la bbdd....
Código PHP:
#!/bin/bash
# Shell script to restart MySQL server if it is killed or not working
# due to ANY causes.
# When script detects mysql is not running (it basically sends ping request
# to MySQL) it try to start using /etc/init.d/mysql script; and it sends an
# email to user indicating the status.
# This script must be run from Cron Job so that it can monitor mysql server.
# For more info visit following url:
# http://www.cyberciti.biz/nixcraft/vivek/blogger/2005/08/linux-mysql-server-monitoring.html
# --------------------------------------------------------------------------
# Copyright (C) 2005 nixCraft project <http://cyberciti.biz/fb/>
# This script is licensed under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# -------------------------------------------------------------------------
 
# mysql root/admin username
MUSER="root"
# mysql admin/root password
MPASS="SET-ROOT-PASSWORD"
# mysql server hostname
MHOST="localhost"
#Shell script to start MySQL server i.e. path to MySQL daemon start/stop script.
# Debain uses following script, need to setup this according to your UNIX/Linux/BSD OS.
MSTART="/etc/init.d/mysql start"
# Email ID to send notification
EMAILID="[email protected]"
# path to mail program
MAILCMD="$(which mail)"
# path mysqladmin
MADMIN="$(which mysqladmin)"
 
#### DO NOT CHANGE anything BELOW ####
MAILMESSAGE="/tmp/mysql.fail.$$"
 
# see if MySQL server is alive or not
# 2&1 could be better but i would like to keep it simple and easy to
# understand stuff :)
$MADMIN -h $MHOST -u $MUSER -p${MPASSping 2>/dev/null 1>/dev/null
if [ $? -ne 0 ]; then
    
echo "" >$MAILMESSAGE
    
echo "Error: MySQL Server is not running/responding ping request">>$MAILMESSAGE
    
echo "Hostname: $(hostname)" >>$MAILMESSAGE
    
echo "Date & Time: $(date)" >>$MAILMESSAGE
    
# try to start mysql
    
$MSTART>/dev/null
    
# see if it is started or not
    
o=$(ps cax grep -' mysqld$')
    if [ 
$o -eq 1 ]; then
        sMess
="MySQL Server MySQL server successfully restarted"
    
else
        
sMess="MySQL server FAILED to restart"
    
fi
    
# Email status too
    
echo "Current Status: $sMess" >>$MAILMESSAGE
    
echo "" >>$MAILMESSAGE
    
echo "*** This email generated by $(basename $0) shell script ***" >>$MAILMESSAGE
    
echo "*** Please don't reply this email, this is just notification email ***" >>$MAILMESSAGE
    
# send email
    
$MAILCMD -"MySQL server" $EMAILID $MAILMESSAGE
else # MySQL is running :) and do nothing
    
:
fi
# remove file
rm -f $MAILMESSAGE