ubuntu 开机自启动jar,同时监控端口好,服务崩溃自动重启,编写sh脚本
1. 编写sh脚本 用于开机自启动个
在这个模块中注意:java 环境一定要写!!!!我其中没有写java环境,发现没有启动成功
root@hfxyai-OptiPlex-5000-China-HDD-Protection:/home/server# gedit /etc/init.d/server.sh
#!/bin/sh
### BEGIN INIT INFO
# Provides: autoJar.sh
# Required-start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the svnd.sh daemon
# Description: starts svnd.sh using start-stop-daemon
### END INIT INFO
export JAVA_HOME=/home/data/java
export PATH=${JAVA_HOME}/bin:$PATH
#路径问题 很关键
cd /home/server
nohup java -jar hf-lab-0.0.1-SNAPSHOT.jar >/home/server/nohup.log&
#./taskStartTomcat.sh
echo "运行正常!"
通过chmod 775 server.sh
授权
sudo update-rc.d server.sh defaults 90
然后reboot 重启生效
2. 编写监听端口的sh脚本
#!/bin/sh
export JAVA_HOME=/home/data/java
export PATH=${JAVA_HOME}/bin:$PATH
time=`date +%Y-%m-%d-%H:%M`
app=`netstat -pltun |grep 8085 |wc -l`
if [ $app -eq 0 ];then
#如果端口没有占用的话要怎么怎么样
cd /home/server
nohup java -jar /home/server/hf-lab-0.0.1-SNAPSHOT.jar >>/home/server/nohup.log &
echo "停止运行了,停止的时间是 " $time >>/home/server/test.log
else
#如果端口被占用的话要怎么怎么样
echo "执行结束时间:" $time1 >>/home/server/test.log
fi
root@hfxyai-OptiPlex-5000-China-HDD-Protection:/home/server# chmod +x taskStartTomcat.sh
通过chmod 775 taskStartTomcat.sh 授权
3. 开启定时任务
crontable 在ubuntu20是默认安装的,如果没安装可以直接sudo apt-get install cron安装
root@hfxyai-OptiPlex-5000-China-HDD-Protection:/home/server# crontab -e
//
*/1 * * * * sh /home/server/taskStartTomcat.sh
重启cron服务:service cron restart
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话