MorFans Dev
折腾 - 开发 - 分享

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

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

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

[v_warn]本文所涉及到的文件路径请自行更改。[/v_warn]

[v_warn]对 PHP-FPM 和 MySQL 的操作命令可能不一致,请自行更改[/v_warn]

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


编辑定时任务文件

sudo crontab -e

添加下行

* * * * * /path/to/status_tester.sh
赞赏
魔帆博客,版权所有 | 如未注明,均为原创
本站均采用 BY-NC-SA 协议进行授权。
转载请注明来自本站文章:Linux 下使用 Shell 脚本实现监控服务器/服务端软件状态 + 出错自动重启(https://www.morfans.cn/archives/2300)
# # #
首页      技术教程      Linux 下使用 Shell 脚本实现监控服务器/服务端软件状态 + 出错自动重启

chenjunyu19

文章作者

一只爱好计算机爱玩 Minecraft 的高中狗。兼本站运维?

发表评论

textsms
account_circle
email

Linux 下使用 Shell 脚本实现监控服务器/服务端软件状态 + 出错自动重启
最近突发奇想,就写了这么个东西,不做详细解释,好用就行了。执行后会输出一个 json 文件,可向外部展示状态。 [v_warn]本文所涉及到的文件路径请自行更改。[/v_warn] [v_warn]对 …
扫描二维码继续阅读
2017-02-04