问题需求:定时判断任务进程是否存在,如果存在打印进程运行良好的日志,如果进程不存在,将该进程启动。
#!/bin/bash
source ~/.bashrc
#*/1 * * * * cd /opt/es_sql/site-server && sh node_monitor.sh >> /opt/es_sql/site-server/logs/monitor.log 2>&1 &
report_id=`ps -ef|grep node-server.js |grep -v grep | awk '{print $2}'`
if ["$report_id" == ""];then
echo `date '+%Y%m%d %H:%M:%S'`" start again node_site_server"
nohup node node-server.js >nohup.out 2>&1 &
else
echo `date '+%Y%m%d %H:%M:%S'`" node_site_server is run"
fi
随后使用crontab -e插入脚本
*/1 * * * * cd /opt/es_sql/site-server && sh node_monitor.sh >> /opt/es_sql/site-server/logs/monitor.log 2>&1 &