linux设置定时运行脚本

线上的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;
        nohup /home/node/bin/node /home/server.js & #启动node命令,使用绝对路径(重要!!!)
        echo "$curtime node启动完成" >> $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分钟运行

参考:


端口监听

#!/bin/bash
#监控HBase服务是否开启

echo `date "+%Y-%m-%d %H:%M:%S"` >> Hbase_listen.log
#port=`netstat -nlt|grep 2181|wc -l`
port=echo -e "\n" | telnet localhost 2181 2>/dev/null | grep Connected | wc -l
if [ $port -ne 1 ]
then
 echo "Hbase is down! Restarting ..." >> Hbase_listen.log
 /usr/local/bin/docker-compose -f /root/docker-hbase/docker-compose-standalone.yml restart
else
 echo "Hbase is running" >> Hbase_listen.log
fi

参考: https://www.cnblogs.com/wenzheshen/p/12667033.html

posted @ 2020-11-10 18:21  林宇风  阅读(832)  评论(0编辑  收藏  举报