我的 bash 脚本或 crontab 有问题

我的 bash 脚本或 crontab 有问题

我在 Ubuntu 18.04 LTS 上安装的 LAMP 运行良好。但有时当 MySQL 关闭时,它不会自动重新启动。所以我在 google 上搜索并找到下面的 bash 脚本,该脚本检查 mysql 是否正在运行,如果未运行,它将启动该服务。问题是当 mysql 关闭时我收到了电子邮件,但 mysql 并未启动。此外,运行 cron 作业的用户具有 sudo 访问权限。我的 cronjob 是:*/5 * * * * sudo bash check_mysql.sh > /dev/null 2>&1

我使用的 bash 脚本:

#!/bin/bash
email='[email protected]'
subject='mysql process down and up'
MYSQL_START='sudo /etc/init.d/mysql start'
MYSQL='mysqld'
PGREP='/usr/bin/pgrep'
#check pid
$PGREP $MYSQL
if [ $? -ne 0 ]; then
$MYSQL_START | mail -s "$subject" $email <<< 'Mysql was down and successfully started'
fi

脚本有问题还是 cronjob 有问题?

答案1

在 Google 上进行更多挖掘之后,我将命令从:

sudo /etc/init.d/mysql start

sudo service mysql start

现在可以正常工作了。

相关内容