run-jar.sh 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/bin/sh
  2. set -e
  3. APP=$1
  4. ENV=$2
  5. time_tag=`date '+%Y-%m-%d'`
  6. HOST=`ifconfig | grep inet | grep -v inet6 | grep -v '127.0.0.1' | grep -v '0.0.0.0' | awk '{print $2}'`
  7. echo "host = ${HOST}"
  8. cd /opt/servers/jars/autodop
  9. if [ -d app ]
  10. then
  11. if [ -d app-${time_tag} ]; then
  12. rm -rf app-${time_tag}
  13. fi
  14. mv app app-${time_tag}
  15. tar vxf app.tar > /dev/null
  16. else
  17. tar vxf app.tar > /dev/null
  18. fi
  19. rm -rf app.tar
  20. # TODO 远程执行命令时导致系统用户 ID 不正确,需手动修改
  21. chown -R root:root app
  22. cd app
  23. # jps | grep 1.0.0 | awk '{print $1}' | xargs kill -15
  24. pid=`jps | grep 1.0.0 | awk '{print $1}'`
  25. echo "pid = ${pid}"
  26. if [ -z ${pid} ]
  27. then
  28. # TODO 判断进程是否成功启动
  29. nohup ./${APP}-1.0.0.jar ./resources/sysconfig/sys-${ENV}.json > ${APP}.log &
  30. pid=`jps | grep 1.0.0 | awk '{print $1}'`
  31. echo "newpid = ${pid}"
  32. else
  33. kill -15 ${pid}
  34. nohup ./${APP}-1.0.0.jar ./resources/sysconfig/sys-${ENV}.json > ${APP}.log &
  35. pid=`jps | grep 1.0.0 | awk '{print $1}'`
  36. echo "newpid = ${pid}"
  37. fi
  38. exit 0