elastic-data-test

action.sh 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. #!/bin/sh
  2. # PS some OS location: /usr/sbin/cronolog OR /usr/local/sbin/cronolog OR /usr/bin/cronolog(ubuntu)
  3. CRONOLOG_PATH=/usr/local/sbin/cronolog
  4. if [ ! -f "$CRONOLOG_PATH" ]; then
  5. CRONOLOG_PATH=/usr/sbin/cronolog
  6. if [ ! -f "$CRONOLOG_PATH" ]; then
  7. CRONOLOG_PATH=/usr/bin/cronolog
  8. fi;
  9. fi;
  10. # 当前脚本所在目录
  11. SERVER=$(cd `dirname $0`; pwd)
  12. cd $SERVER
  13. # 文件全路径
  14. FULL_PATH=$SERVER/elastic-publish-service-1.0.0.jar
  15. # 程序的名字,不包括版本号,一般JAR包文件名为: $APP_SIGNATURE-1.0.0.jar ,备份用.
  16. APP_SIGNATURE=elastic-publish-service
  17. # 运行参数,如: -Xmx800m
  18. RUN_PARAM=
  19. # 组合命令,如果是Java,运行其他程序,改这里,如其他运行: ./frpc -c frpc.ini
  20. RUN_COMMAND="java -jar $FULL_PATH"
  21. # 运行程序的PID文件名
  22. PID_FILE_NAME=.pid
  23. # 程序运行日志文件
  24. APP_LOG_FILE=application.log
  25. # 检查文件是否存在,
  26. if [ ! -f "$FULL_PATH" ];then
  27. echo "file = [$FULL_PATH] not found..."
  28. exit 0
  29. fi
  30. NOHUP_PREFIX=logs/nohup_
  31. res=""
  32. if [ $# -eq 0 ] ; then
  33. echo "Usage: {start|stop|restart|fstop|np|nph|al|alh}"
  34. else
  35. case "$1" in
  36. start)
  37. # kill
  38. res=`ps aux | grep "$SERVER/$APP_SIGNATURE" | grep -v "grep" | awk '{print $2}'`
  39. if [ -n "$res" ];then
  40. kill -9 $(ps aux | grep "$SERVER/$APP_SIGNATURE" | grep -v "grep" | awk '{print $2}')
  41. sleep 1
  42. fi
  43. nohup $RUN_COMMAND $RUN_PARAM 2>&1 | $CRONOLOG_PATH ./$NOHUP_PREFIX%Y%m%d.log &
  44. echo $[$!-1] > $SERVER/$PID_FILE_NAME
  45. ;;
  46. stop)
  47. kill `cat $SERVER/$PID_FILE_NAME`
  48. rm -rf $SERVER/$PID_FILE_NAME
  49. ;;
  50. restart)
  51. kill `cat $SERVER/$PID_FILE_NAME`
  52. rm -rf $SERVER/$PID_FILE_NAME
  53. sleep 1
  54. nohup $RUN_COMMAND $RUN_PARAM 2>&1 | $CRONOLOG_PATH ./$NOHUP_PREFIX%Y%m%d.log &
  55. echo $[$!-1] > $SERVER/$PID_FILE_NAME
  56. ;;
  57. fstop)
  58. kill -9 `cat $SERVER/$PID_FILE_NAME`
  59. rm -rf $SERVER/$PID_FILE_NAME
  60. ;;
  61. np)
  62. # echo $2
  63. DATE=$(date +%Y%m%d)
  64. tail -f "./$NOHUP_PREFIX$DATE.log" | grep "$2"
  65. ;;
  66. nph)
  67. # echo $2
  68. DATE=$(date +%Y%m%d)
  69. tail -f "./$NOHUP_PREFIX$DATE.log" | perl -pe 's/('$2')/\e[1;31m$1\e[0m/g'
  70. ;;
  71. al)
  72. tail -f "./logs/$APP_LOG_FILE" | grep "$2"
  73. ;;
  74. alh)
  75. tail -f "./logs/$APP_LOG_FILE" | perl -pe 's/('$2')/\e[1;31m$1\e[0m/g'
  76. ;;
  77. backup)
  78. BACKUP_DATE=$(date +%Y%m%d%H%M)
  79. BACKUP_FOLDER=$SERVER/backup
  80. if [ ! -d "$BACKUP_FOLDER" ];then
  81. mkdir $BACKUP_FOLDER
  82. fi
  83. CU_BACK_UP=$BACKUP_FOLDER/$BACKUP_DATE
  84. if [ ! -d "$CU_BACK_UP" ];then
  85. mkdir $CU_BACK_UP
  86. fi
  87. cp $SERVER/$APP_SIGNATURE*.jar $CU_BACK_UP/
  88. cp -R $SERVER/lib $CU_BACK_UP/
  89. cp -R $SERVER/config $CU_BACK_UP/
  90. ;;
  91. rollback)
  92. if [ $# -eq 2 ] ; then
  93. ROLLBACK_FOLDER=$SERVER/backup/$2
  94. echo "rollback version:"$ROLLBACK_FOLDER
  95. if [ ! -d "$ROLLBACK_FOLDER" ];then
  96. echo "rollback version not found in file system. "$ROLLBACK_FOLDER
  97. exit 0
  98. fi
  99. rm -rf $SERVER/$APP_SIGNATURE*.jar
  100. rm -rf $SERVER/lib
  101. rm -rf $SERVER/config
  102. cp $ROLLBACK_FOLDER/$APP_SIGNATURE*.jar $SERVER
  103. cp -R $ROLLBACK_FOLDER/lib $SERVER/lib
  104. cp -R $ROLLBACK_FOLDER/config $SERVER/config
  105. else
  106. echo "not input rollback version"
  107. fi;
  108. ;;
  109. *)
  110. echo "Usage: {start|stop|restart|fstop|np|nph}"
  111. ;;
  112. esac
  113. fi;
  114. exit 0