后台执行命令
1.打jar包时候指定main类,启动命令不用指定main类
#!/bin/sh
path=$(cd `dirname $0`;pwd)
#/opt/model/jdk1.8.0_212是java安装路径,如果配置了环境变量,可以直接...java -jar...
nohup /opt/model/jdk1.8.0_212/bin/java -jar $path/youmeng.jar >$path/run.log 2>&1 &
2.java启动jar包中的指定类
#!/bin/bash
path=$(cd `dirname $0`;pwd)
nohup /opt/model/jdk1.8.0_202/bin/java -cp $path/mongoDB.jar lancet.field.Test >$path/log.log 2>&1 &
echo $! >$path/m.pid
shell脚本使用 \ 分行,增加可读性和方便修改
#!bin/bash
path=$(cd `dirname $0`;pwd)
nohup /data/jdk-11.0.21/bin/java \
-DMB_JETTY_PORT=9092 \
-DMB_DB_TYPE=mysql \
-DMB_DB_CONNECTION_URI="jdbc:mysql://xxx:3306/metabase?user=xxx&password=xxx" \
-jar $path/metabase.jar >> $path/run.log 2>&1 &
日志按天分割成不同的文件:
> 日志会直接覆盖;
>> 日志会在原来的日志后面追加
#!bin/bash
path=$(cd `dirname $0`;pwd)
today=`date +%Y-%m-%d`
nohup /data/jdk-11.0.21/bin/java \
-DMB_JETTY_PORT=9092 \
-DMB_DB_TYPE=mysql \
-DMB_DB_CONNECTION_URI="jdbc:mysql://10.196.71.xxx:3306/metabase?user=root&password=xxx" \
-DMB_ENABLE_EMBEDDING=true \
-DMB_ENABLE_PUBLIC_SHARING=true \
-jar $path/metabase.jar >> $path/log/metabase-${today}.log 2>&1 &