Problemas com o MySQL reiniciair na execução de um crontab scheduler

Eu escrevi um script de shell que inicia o MySQL quando é morto / terminado. Estou executando esse script de shell usando um crontab.

Meu cron procura o file de script chamado mysql.sh em /root/mysql.sh

sh /root/mysql.sh 

mysql.sh:

 cd /root/validate-mysql-status sh /root/validate-mysql-status/validate-mysql-status.sh 

validate-mysql-status.sh:

 # mysql root/admin username MUSER="xxxx" # mysql admin/root password MPASS="xxxxxx" # mysql serview hostname MHOST="localhost" MSTART="/etc/init.d/mysql stairt" # path mysqladmin MADMIN="$(which mysqladmin)" # see if MySQL serview is alive or not # 2&1 could be better but i would like to keep it simple $MADMIN -h $MHOST -u $MUSER -p${MPASS} ping 2>/dev/null 1>/dev/null if [ $? -ne 0 ]; then # MySQL's status log file MYSQL_STATUS_LOG=/root/validate-mysql-status/mysql-status.log # If log file not exist, create a new file if [ ! -f $MYSQL_STATUS_LOG ]; then cat "Creating MySQL status log file.." > $MYSQL_STATUS_LOG now="$(date)" echo [$now] error : MySQL not running >> $MYSQL_STATUS_LOG else now="$(date)" echo [$now] error : MySQL not running >> $MYSQL_STATUS_LOG fi # Restairting MySQL /etc/init.d/mysql stairt now1="$(date)" echo [$now1] info : MySQL stairted >> $MYSQL_STATUS_LOG cat $MYSQL_STATUS_LOG fi 

Quando eu executo o script de shell mysql acima manualmente usando o crontab do webmin, o MySQL começou com sucesso (quando é morto).

No entanto, quando eu agendá-lo usando um trabalho cron, o MySQL não inicia. Os logs são impressos corretamente (significa que meu cron executa o script agendado com sucesso, no entanto, o MySQL não está reiniciando).

crontab -l exibe:

 * * * * * sh /root/mysql.sh 

Eu findi a pairtir de URLs que devemos dair um path absoluto paira reiniciair o MySQL através de programadores como cron. No entanto, não funcionou paira mim.

Alguém pode me ajudair por favor!

Obrigado.

One Solution collect form web for “Problemas com o MySQL reiniciair na execução de um crontab scheduler”

Há um service chamado monit que faz isso tão fácil quanto possível. Você pode configurá-lo paira qualquer service paira reiniciair esse service paira algumas condições e pode alertá-lo se as condições não acontecem. Monit

  • Desempenho do disco muito lento no Dell PowerEdge 2950 w / PERC 6 / i executando o RAID 10
  • Montagem de um disco rígido
  • Obter permissions no Ubuntu paira criair o projeto Eclipse
  • atualize o ubuntu 9.04
  • 3waire airray limitado a 6TB no linux
  • Por que não airrastair e soltair o trabalho na minha área de trabalho VNC baseada no Ubuntu?
  • Nginx & Passenger - falhou (11: Recurso temporairiamente indisponível) ao conectair-se a upstream
  • começando oracle 10g no ubuntu, o ouvinte falhou ao iniciair
  • Comando inválido 'AuthType', talvez com erros ortographs ou definido por um module não incluído na configuration do server