1.在etc/crontab写定时执行的脚本
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
0 0 * * * root /usr/local/service/nft-content-service/nohup.sh
0 0 * * * root /usr/local/service/nft-cos-service/nohup.sh
0 0 * * * root /usr/local/service/nft-gateway/nohup.sh
0 0 * * * root /usr/local/service/nft-order-service/nohup.sh
0 0 * * * root /usr/local/service/nft-pay-service/nohup.sh
0 0 * * * root /usr/local/service/nft-user-service/nohup.sh
 
 
2.创建 nohup.sh
date=`date -d "yesterday" +%Y_%m_%d`
cp -r /usr/local/service/nft-user-service/nft-user-service.log  /usr/local/service/nft-user-service/${date}.log
cat /dev/null > /usr/local/service/nft-user-service/nft-user-service.log
 
 
 
启动jar的脚本
run-nft-user-service.sh
APP_NAME=nft-user-service.jar
usage() {
  echo "执行操作命令 [start|stop|restart|status]"
  exit 1
}
if_exist() {
  pid=`ps -ef|grep $APP_NAME|grep -v grep|awk "{print $2}"`
  if [ -z "${pid}" ]; then
    return 1
  else
    return 0
  fi
}
start() {
  if_exist
  if [ $? -eq 0 ]; then
    echo "${APP_NAME} already running . pid=${pid}"
  else
    nohup java -jar -Dspring.profiles.active=prod  ${APP_NAME} >> nft-user-service.log 2>&1 &
    npid=`ps -ef|grep $APP_NAME|grep -v grep|awk "{print $2}"`
    echo "start ${APP_NAME} success, pid=${npid}"
  fi
}
stop() {
  if_exist
  if [ $? -eq 0 ]; then
    kill -9 $pid
    echo "stop $pid success".
  else
    echo "${APP_NAME} is not running"
  fi
}
status() {
  if_exist
  if [ $? -eq 0 ]; then
    echo "${APP_NAME} is running. pid is ${pid}"
  else
    echo "${APP_NAME} is not running "
  fi
}
restart() {
  stop
  sleep 5
  start
}
case "$1" in
   "start")
      start
       ;;
    "stop")
      stop
       ;;
    "status")
      status
       ;;
    "restart")
      restart
       ;;
    *)
    usage
     ;;
esac