线上的node服务经常宕机,不太稳定. 于是写了个监听脚本,配合linux的crond定时任务进行检测.
监听脚本listen:
#!/bin/bash
LOG_FILE="/home/listen.log"
#检测node
curtime=$(date "+%Y-%m-%d %H:%M:%S")
pnode=`ps -ef | grep node | grep -v "grep" | wc -l`
if [ $pnode -eq 0 ]; then
echo "$curtime 系统检测到node,已挂掉,启动中...." >> $LOG_FILE;
node server.js & #启动node命令
echo "$curtime nginx启动完成" >> $LOG_FILE;
else
echo "$curtime 系统检测到node运行正常" >> $LOG_FILE;
fi
crond定时任务操作:
service crond start //启动服务
service crond stop //关闭服务
service crond status // 查看服务
service crond restart //重启服务
service crond reload //重新载入配置
设置定时任务:
crontab -e
添加任务
*/10 * * * * /home/listen # 每10分钟运行
参考:
- https://blog.csdn.net/cjh365047871/article/details/85256892
- https://www.cnblogs.com/zhuyeshen/p/12073618.html
- https://blog.csdn.net/weixin_41858542/article/details/85682891