• 作者:SuperPaxxs扶摇直上九万里,绝云气,负青天,不知图哪了,正在努力搜索中..
    • 请在Chrome、Firefox等现代浏览器浏览本站。 有事 点击这里 联系博主
    • 想在魔帆博客投稿? 点击这里 联系博主
    • [ 既然来了就多看两篇文章嘛,你好意思走么? ]
    • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏魔帆博客吧

Linux 下使用 Shell 脚本实现监控服务器/服务端软件状态 + 出错自动重启

最近突发奇想,就写了这么个东西,不做详细解释,好用就行了。执行后会输出一个 json 文件,可向外部展示状态。

本文所涉及到的文件路径请自行更改。
对 PHP-FPM 和 MySQL 的操作命令可能不一致,请自行更改

status_tester.sh

#!/bin/bash

auto_restart () {
  service mysql stop
  service php5-fpm stop
  service mysql start
  service php5-fpm start
}

string=`curl http://link/to/php_test.php`
if [ $string == "OK" ]
then
  php=ok
else
  php="error (restarting)"
  auto_restart
fi

mysqladmin -ustatus_tester ping &> /dev/null
if [ $? == 0 ]
then
  mysql=ok
else
  mysql="error (restarting)"
  auto_restart
fi

echo [{\"last_update\": \"`date +'%Y-%m-%d %H:%M:%S'`\", \"ram\": \"`sed -n '1p;2p' /proc/meminfo`\", \"php\": \"${php}\", \"mysql\": \"${mysql}\"}] > /path/to/status.json

php_test.php

<?php
echo "OK";
?>

编辑定时任务文件

sudo crontab -e

添加下行

* * * * * /path/to/status_tester.sh

魔帆博客 , 版权所有丨如未注明 , 均为原创丨本网站均采用BY-NC-SA协议进行授权 , 转载请注明Linux 下使用 Shell 脚本实现监控服务器/服务端软件状态 + 出错自动重启
喜欢 (4)
[]
分享 (0)
关于作者:
一只爱好计算机爱玩 Minecraft 的初中狗。兼本站运维?
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 简约不简单,大气有内涵!
    九州套图2017-02-18 17:03 回复
×
订阅图标按钮