crontab 执行mysql,在通过crontab调度程序运行时,MySQL重新启动的问题

我编写了一个

shell脚本,它在杀死/终止时启动

MySQL.我正在使用crontab运行此shell脚本.

我的cron在/root/mysql.sh下查找名为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 server hostname

MHOST="localhost"

MSTART="/etc/init.d/mysql start"

# path mysqladmin

MADMIN="$(which mysqladmin)"

# see if MySQL server 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

# Restarting MySQL

/etc/init.d/mysql start

now1="$(date)"

echo [$now1] info : MySQL started >> $MYSQL_STATUS_LOG

cat $MYSQL_STATUS_LOG

fi

当我使用webmin的crontab手动运行上面的mysql shell脚本时,MySQL启动成功(当它被杀死时).

但是,当我使用cron作业安排它时,MySQL无法启动.日志打印正确(这意味着我的cron成功运行预定脚本,但MySQL没有重新启动).

crontab -l显示:

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

我从URL中发现,我们应该给出通过调度程序如cron重启MySQL的绝对路径.但是,它对我没用.

谁能帮帮我吗!

谢谢.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值