Ruby&Rails---监听服务器状态,如果挂了就重启

https://www.jianshu.com/p/267ce809c311,
该篇文章说到了ubuntu下crontab的定时任务用法。

现在有个问题,如果服务器挂了怎么办。系统需要自动重启服务器。我们可以通过监听rails服务器的进程号。如果有,就代表服务器正在运行,否则就代码服务器挂了。

步骤1:编写监听rails服务器的脚本checkServer.sh

$(lsof -t -i:3000)是取出rails服务器的进程号

#!/bin/sh
ps -fe|grep $(lsof -t -i:3000) |grep -v grep
if [ $? -ne 0 ]
then
echo "start process....."
# 在这边去写另外一个脚本去重启服务器
else
echo "runing....."
fi
#####

步骤2:把该脚本加入到crontab中

每隔1分钟执行一次脚本。

* * * * * /home/hpd/productions/your_pro_name/checkServer.sh
步骤3:重启crontab
重启:sudo /etc/init.d/cron restart 
重新载入配置:sudo /etc/init.d/cron reload 

你可能感兴趣的:(Ruby&Rails---监听服务器状态,如果挂了就重启)