Shell脚本

15 阅读1分钟

startup.sh

  • mysql启动脚本
/home/mysql/mysql-5.7.24/bin/mysqld --defaults-file=/home/mysql/my.cnf &

install_bak.sh

  • jenkins执行脚本
sh /home/otc/rem-mgr/service.sh stop
rm -f /home/otc/rem-mqr/rem-application-registrationmgrweb.jar

mv /home/otc/rem/rem-application-registrationmgrweb.jar /home/otc/rem-mgr/rem-application-registrationmgrweb.jar

chown otc.otc /home/otc/rem-mgr/rem-application-registrationmgrweb.jar

source /etc/profile;java -javaagent:/home/sscc-jacoco/sscc-jacocoagent.jar=conf=home/sscc-jacoco/agent.conf -jar -Xms2024m -Xmx4096m -Xss1024k -XX:PermSize=128m -XX:MaxPermSize=512m -XX:+UseCompressedOops -Dapp.log.home=/data/logs/rem/rem-mgr-logs -Dapp.id=rem-mgr-id -Dapp.code=rem-mgr-code -XX:+UseG1GC /home/otc/rem-mgr/rem-application-registrationmgrweb.jar --spring.cloud.nacos.discovery.server-addr=10.175.67.4:8848 --spring.cloud.nacos.config.server-addr=10.175.67.4:8848 > /home/otc/rem-mgr/console.log 2>&1 &

service.sh

  • 业务服务启动脚本
APP_NAME=rem-application-registrationmgrweb.jar

source /etc/profile

APP_PATH=/home/otc/rem-mgr

if ["SUSER" !="otc"];then
    echo "\t请使用【su - blade】切换用户执行该脚本!" && exit 1
fi

usage () {
echo "Usage: sh 执行脚本.sh [start |stop |restart |status]"
exit 1
}

#检查程序是否在运行
is exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2)' `
#如果不存在返回1,存在返回0
if [ -z "$ {pid)"]; then
return 1
else
return 0
fi
}

#启动方法
start(){
is exist
if [$? -eq "0" ]; then
echo "s{APP NAME] is already running. pid-$ {pid} ."
else
nohup java -jar -Xms2048m -Xmx4096m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=512m -XX:+UseCompressedOops -XX:+UseG1GC -Dapp.log.home=/data/logs/rem/rem-mgr-logs -Dapp.id=rem-mgr-id -Dapp.code=rem-mgr-code -Dapp.name=rem-mgr -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.rmi.port=8999 -Dcom.sun.management.imxremote.ssl=false -Dcom.sun.management.imxremote.authenticate=false -Djava.rmi.server.hostname=10.175.67.7 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/otc/rem-mgr/mgr.hprof -Ddubbo.labels="payload-83886080" $APP_PATH$APP_NAME --spring.cloud.nacos.discovery.server-addr=10.175.67.4:8848 --spring.cloud.nacos.config.server-addr=10.175.67.4:8848> /home/otc/rem-mgr/console.log 2>&1 &
fi
}

#停止方法
stop(){
is exist
if [ $? -eq "0"]; then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
}

#输出运行状态
status(){
is exist
if [$? -eq "0"], then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}

#重启
restart(){
stop
start
}

#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in 
"start")
start
;;
"stop")
stop;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac