一个脚本

不切换用户执行命令、脚本

cat chk_eth.sh 
#!/bin/bas
#time:2018/1/24

PORT_ETH=8545
PORT=`ps -ef | grep eth | grep '8545' | grep -v grep |wc -l`
IP=`ip a | sed -n '7p' | awk -F '[ /]+' '{print $3}'`

PID=`ps -ef | grep eth | grep -E "/home/deploy/" | awk -F "[ ]+" '{print $2}'`
kill -9 $PID
#PORT_ETH=`ps -ef | grep eth | grep '8545' | awk -F '[ ]+' '{print $11}'`
#等于 0 ETH进程挂掉,等于 1 ETH进程存在

if [ $PORT -eq '1' ];then
  echo "ETH存在"
else
  echo "ETH死了,需要启动"
#测试
#  su - deploy -c "/bin/pwd" \

#  su - deploy -c 'cd /home/deploy/geth-linux-amd64-1.7.0-6c6c7b2a/ && \
#  nohup ./geth --rpc --rpcport ${PORT_ETH} --rpcaddr=$IP &'
  su - deploy -c -s "cd /home/deploy/geth-linux-amd64-1.7.0-6c6c7b2a/ && \
  nohup ./geth --rpc --rpcport $PORT_ETH --rpcaddr=$IP &"

  PID=`ps -ef | grep eth | grep -E "/home/deploy/" | awk -F "[ ]+" '{print $2}'`
  kill -9 $PID
  exit 1
fi

if [ $PORT -eq '0' ];then
  echo "启动失败"
else
  echo "启动成功"

  exit 2
fi
su用户

 

posted @ 2018-01-24 21:48  reborn枪  阅读(64)  评论(0)    收藏  举报