我想要一个bash脚本,可以使用cron作业来检查远程服务器上的mysql是否正在运行。如果是,那么什么也不做,其他启动服务器。
cronjob将每分钟检查一次远程服务器是否是mysql。我可以自己编写cron作业,但我需要shell脚本的帮助,该脚本可以检查远程mysql是否已启动或关闭。检查后的响应是否向上或向下并不重要。但支票很重要。
谢谢。
发布于 2015-06-17 10:50:37
检查很容易,因为:
mysql -e "select 1" || echo down您可以用ssh命令替换echo以启动服务,但这似乎有点冒险。它可能会对安全产生影响。可能不可靠。我建议您应该有一些合适的集群/故障转移软件来完成这个任务。有MySQL MMM,我们曾经使用过一些,但我知道这已经不受欢迎了。
发布于 2015-06-17 12:06:03
假设您可以使用sshkey auth来减少root用户登录到远程计算机的密码,那么您可以运行以下命令-
如果是‘ps -efww \ grep _ grep mysql_grep -v grep’,则回送"server是up“;否则回送"server关机”;fi“
用mysql启动脚本替换echo "server关机“。说/etc/init.d/mysqld开始
发布于 2015-06-17 14:22:24
正如@khaled在你问题的评论中说的那样,实现保持不变会更可靠。它并不像你想象的那么可怕。“保持”将管理浮动IP,并告诉它在发生故障转移时运行脚本。下面是一篇专门介绍如何使用mysql进行配置的文章:
https://alexzeng.wordpress.com/2012/10/31/how-to-setup-mysql-ha-by-using-keepalived/
您可以修改该配置以设置主节点和备份,而不是让它们都是备份(一旦主节点恢复,您就需要自动恢复)。
https://serverfault.com/questions/699605
复制相似问题