最近突发奇想,就写了这么个东西,不做详细解释,好用就行了。执行后会输出一个 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
发表回复