宝塔计划任务,自动检测数据库并且启动

有时候我们的内存不够用,导致数据库经常关机,而我们往往没用这么多预算,所以我们可以写一个计划任务,检测数据是否启动,如果没有启动,会自动启动数据库

1. 编写检测并启动 MySQL 的脚本

首先,创建一个用于检测 MySQL 状态并在必要时启动它的 shell 脚本。以下是示例脚本:

收起

bash

#!/bin/bash
# 检测 MySQL 服务状态
status=$(systemctl is-active mysqld)

if [ "$status" != "active" ]; then
    # 如果 MySQL 未启动,则尝试启动它
    systemctl start mysqld
    # 记录日志
    echo "$(date): MySQL was not running. Attempted to start it." >> /var/log/mysql_monitor.log
fi

脚本说明:

  • systemctl is - active mysqld:用于检查 MySQL 服务的状态,返回值可能为 active(已启动)、inactive(未启动)等。
  • if [ "$status" != "active" ]; then:判断 MySQL 是否处于未启动状态。
  • systemctl start mysqld:若未启动,则尝试启动 MySQL 服务。
  • echo "$(date): MySQL was not running. Attempted to start it." >> /var/log/mysql_monitor.log:将操作记录到日志文件 /var/log/mysql_monitor.log 中。

创建脚本文件:

你可以使用以下命令在服务器上创建并编辑该脚本:

收起

bash

nano /root/check_mysql.sh

将上述脚本内容复制到编辑器中,然后按 Ctrl + X,接着按 Y 确认保存,最后按 Enter 键退出编辑器。

给脚本添加执行权限:

收起

bash

chmod +x /root/check_mysql.sh

2. 在宝塔面板中创建计划任务

  1. 登录宝塔面板,进入 “计划任务” 页面。
  2. 点击 “添加任务” 按钮。
  3. 在 “任务类型” 中选择 “Shell 脚本”。
  4. 在 “任务名称” 中输入一个描述性的名称,例如 “检测并启动 MySQL”。
  5. 在 “执行周期” 中选择你希望的检查频率,比如 “每小时执行一次”。
  6. 在 “脚本内容” 中填写脚本的执行命令:

收起

bash

/root/check_mysql.sh
  1. 点击 “添加任务” 按钮保存设置。

这样,宝塔面板就会按照你设置的周期执行脚本,检测 MySQL 服务状态并在需要时启动它。你可以通过查看 /var/log/mysql_monitor.log 文件来确认脚本的执行情况。

图片[1]-宝塔计划任务,自动检测数据库并且启动-柚子博客
© 版权声明
THE END
喜欢就支持一下吧
点赞147 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容