The*_*gia 1 mysql cron shell-scripting
我想要一个 bash shell 脚本,我可以使用 cron 作业运行它来检查远程服务器上的 mysql 是否正在运行。如果是,则什么都不做,其他启动服务器。
cronjob 将每分钟检查远程服务器是否存在实时(或非)mysql。我可以自己编写 cron 作业,但我需要有关检查远程 mysql 是否启动或关闭的 shell 脚本的帮助。检查后的响应是向上还是向下并不重要。但是检查很重要。
谢谢你。
mysqld使用mysqladmin连接
MySQL 文档说 mysqladmin ping
检查服务器是否可用。如果服务器正在运行,mysqladmin 的返回状态为 0,否则为 1。即使在出现拒绝访问等错误的情况下,这也是 0,因为这意味着服务器正在运行但拒绝连接,这与服务器未运行不同。
首先创建一个没有权限的用户
mysql> GRANT USAGE ON *.* TO ping@'%' IDENTIFIED BY 'ping';
Run Code Online (Sandbox Code Playgroud)
创建一个这样的脚本
#!/bin/bash
MYSQL_USER=ping
MYSQL_PASS=ping
MYSQL_CONN="-u${MYSQL_USER} -p${MYSQL_PASS}"
mysqladmin ping ${MYSQL_CONN} 2>/dev/null 1>/dev/null
MYSQLD_RUNNING=${?}
if [ ${MYSQLD_RUNNING} -eq 1 ]; then service mysql start ; fi
Run Code Online (Sandbox Code Playgroud)
根据需要将该脚本放在 crontab 中
确保防火墙在 3306 上打开,以便 ping@'%' 可以连接。
| 归档时间: |
|
| 查看次数: |
18693 次 |
| 最近记录: |