部署项目时每次要查看项目进程,杀死进程,重新上传,在进行运行
现在利用脚本,不需要那么多步骤,一步搞定
失败经历也应该记录下
1.上传本地脚本文件
2.给脚本文件赋权限(赋值后变成绿色的了)
赋完权限后直接用./文件名.sh status(是脚本里查看状态)
3.发现发上去的编码集与服务器端不同
开始一系列在网上找修改编码集的命令,结果失败,最后删除文件
4.新建文件
5.vi命令复制脚本文件(vi命令网上有)
sh 文件.sh status(没有授权前的命令)
6.对文件进行授权权限后,发现脚本里的东西没有复制全
7.利用cat命令清空脚本文件内容,重新复制,再次查看脚本文件,看是否复制全了
8.再次运行
9.成功!!!!
脚本文件:
#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=项目名.jar
#启动方法
start(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
if [ "$pid" ]; then
echo "$APP_NAME is already running. pid=$pid ."
else
nohup java -jar $APP_NAME >> catalina.out 2>&1 &
echo "$APP_NAME now is running"
fi
}
#停止方法
stop(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
if [ "$pid" ]; then
kill -9 $pid
echo "Pid:$pid stopped"
else
echo "$APP_NAME is not running"
fi
}
#输出运行状态
status(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
if [ "$pid" ]; then
echo "$APP_NAME is running. Pid is ${pid}"
else
echo "$APP_NAME is NOT running."
fi
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
sleep 5
start
;;
*)
echo "Usage:{start|stop|status|restart}"
;;
esac
exit 0