当前访客身份:游客 [ 登录 | 加入 OSCHINA ]

代码分享

当前位置:
代码分享 » Shell/批处理  » 数据库编程
分享到: 
收藏 +0
5
如果你的 MySQL 经常宕机,可以用这个脚本来实现宕机后自动启动,把它加到 crontab 里执行即可。
详细介绍请看 http://www.codeproject.com/Articles/988967/Mysql-Uptime-Check-Script
标签: MySQL

代码片段(1) [全屏查看所有代码]

1. [代码]mysql.sh     跳至 [1] [全屏预览]

#!/bin/bash

result=`/usr/bin/mysqladmin ping`
expected='mysqld is alive'

if [[ "$result" != "$expected" ]]
then
echo "It's dead - restart mysql"

# email subject
SUBJECT="[MYSQL ERROR] - Attempting to restart service"

# Email To ?
EMAIL="info@endyourif.com"

# Email text/message
EMAILMESSAGE="/tmp/emailmessage.txt"
echo "$result was received"> $EMAILMESSAGE
echo "when we were expected $expected" >>$EMAILMESSAGE
# send an email using /bin/mail
mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE

sudo /etc/init.d/mysql restart
fi


开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»

发表评论 回到顶部 网友评论(26)

  • 1楼:大嘴吃鸡腿 发表于 2015-05-07 09:21 回复此评论
    顶起
  • 2楼:开源中国首席打酱油啊哎滴 发表于 2015-05-07 09:25 回复此评论
    红薯出品!
  • 3楼:慕小怪 发表于 2015-05-07 09:43 回复此评论
    ping的时候要密码的哦~
  • 4楼:华兹格 发表于 2015-05-07 13:20 回复此评论
    用supervisor监控起来
  • 5楼:Feng_Yu 发表于 2015-05-08 11:02 回复此评论
    红薯不是用的ubuntu server吗?ubuntu的服务使用upstart托管,upstart就有一个respawn属性,用于服务挂掉之后自动重启。
    http://upstart.ubuntu.com/cookbook/#respawn
  • 6楼:路边拾草人 发表于 2015-05-08 14:02 回复此评论
    红薯出品,必是精品!
  • 7楼:wangbinbin0326 发表于 2015-05-08 16:09 回复此评论
    result=`mysqladmin -u root -ppassword ping`
  • 8楼:__JM_Joy__ 发表于 2015-05-10 11:24 回复此评论
    挺好
  • 9楼:lnyu 发表于 2015-05-11 12:59 回复此评论
    研究一下
  • 10楼:墨染图 发表于 2015-05-11 14:18 回复此评论

    引用来自“路边拾草人”的评论

    红薯出品,必是精品!
    只想说。为啥不tab的,看着都累。
  • 11楼:简单代码 发表于 2015-05-13 08:28 回复此评论

    引用来自“路边拾草人”的评论

    红薯出品,必是精品!
    copy的
  • 12楼:简单代码 发表于 2015-05-13 08:29 回复此评论

    引用来自“路边拾草人”的评论

    红薯出品,必是精品!

    引用来自“墨染图”的评论

    只想说。为啥不tab的,看着都累。
    copy的
  • 13楼:CIHNASSL 发表于 2015-05-13 09:09 回复此评论
    拿来实验下,看是否可行
  • 14楼:tubexu 发表于 2015-05-13 09:47 回复此评论
    好。
  • 15楼:宇林木风 发表于 2015-05-13 09:55 回复此评论
    要带-p参数啊
  • 16楼:流亡青年 发表于 2015-05-13 10:38 回复此评论
    ,cp的。
  • 17楼:landauchos 发表于 2015-05-13 11:00 回复此评论
     crontab 0 11 4 * mysql.sh 
  • 18楼:purple_grape 发表于 2015-05-13 15:18 回复此评论
    我来一个更简单的cron job
    puppet resource service mysqld ensure=running
  • 19楼:甘薯 发表于 2015-05-13 16:59 回复此评论
    宕机应该发送一个警告, 在这个脚本上加一个mail更好...
  • 20楼:zvictorino 发表于 2015-05-14 11:01 回复此评论
    mysqld_safe
开源从代码分享开始 分享代码