shell + 定时任务 完成springboot 启动与停止
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
1. shell脚本如下
#!/bin/sh
export JAVA_HOME=/opt/module/jdk1.8.0_201
export JRE_HOME=/$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
# 这里可替换为你自己的执行程序,其他只需要看下相应文件所在目录,修改为自己的即可
APP_NAME=xxx.jar
#使用说明,在为输入任何参数是调用,根据输入参数执行相应方法
usage() {
echo "Usage: sh restart-springboot.sh [start|stop|restart|status]"
exit 1
}
#检查程序是否在运行
#grep -v反选匹配 awk指定文件某一行 awk工具使用可以查看其它相关文章
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 "${APP_NAME} is already running. pid=${pid}"
echo "执行启动方法,${JAR_NAME} is already running $(date +%Y-%m-%d\ %H:%M:%S)" >> /data4/download/service/restart.log
else
# nohub 后台执行,并将日志输入到 nohub.out中 2>&1 代表将标准输出和错误输出合并
nohup java -jar /data4/download/service/${APP_NAME} >/data4/download/service/nohup.out 2>&1 &
echo "执行启动方法,${JAR_NAME} successed $(date +%Y-%m-%d\ %H:%M:%S)" >> /data4/download/service/restart.log
fi
}
#停止方法
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
echo "执行停止方法,${APP_NAME} is process stop $(date +%Y-%m-%d\ %H:%M:%S)" >> /data4/download/service/restart.log
else
echo "执行停止方法,${JAR_NAME} is not running $(date +%Y-%m-%d\ %H:%M:%S)" >> /data4/download/service/restart.log
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
sleep 5
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
2. 将该脚本添加到定时任务中
# crontab 规则与java cron规则一只,不过参数更少,最小单位为分钟,最大到月,只有五位数
crontab -l # 查看
crontab -e # 编辑 规则与vim一致
# 我的定时任务如下
# 每天 1,13:45 启动springboot下载文件 4,16点30分关闭 15点为测试使用,正式启动会删除
45 1,13,15 * * * bash /data4/download/service/restart_server.sh start
30 4,16 * * * bash /data4/download/service/restart_server.sh stop
# 注意上述时间是linux本地时间,使用date查看,因为可能因为时区等问题造成时间不一致
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献2条内容
所有评论(0)