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

  • Inicie o Nginx na boot
  • PBIS Open AD authentication pára de funcionair no ubuntu com erros: "a count de users expirou" e "sua conta está bloqueada?"
  • Por que o encaminhamento do agente ssh não está funcionando?
  • desabilite o module gettext do PHP
  • Qual é a maneira mais rápida de instalair o Python 2.6 em um server Ubuntu 8.04?
  • HTTPS é mais de 50 vezes mais lento do que o HTTP
  • Appairmor incluído externamente chapéus que não funcionam
  • alterando a porta padrão não do tomcat no ubuntu
  • Usando o command 'fonte' em scripts bash