Skip to content
Jacky's blog
Go back

Start springboot application at boot time in CentOS 7

I have a springbbot scheduler job running in my CentOS 7 server. I want to make it automatically start every time when I reboot the system. So I don’t need to do it manually. Here it’s how.

  1. Create start stop shell script
$ vi startrets.sh

#!/bin/bash
java -Xmx4096m -jar /usr/programs/web/rets-load-1.0.0.jar >> /usr/programs/web/rets.log 2> /usr/programs/web/rets_err.log < /dev/null
echo "rets-load started.."

$ chmod +x startrets.sh
$ vi stoprets.sh

#!/bin/bash
PID=`ps -ef | grep rets-load | grep -v grep | awk '{print $2}'`
if [[ "" !=  "$PID" ]]; then
  echo "killing $PID - RETS-LOAD app.."
  kill -9 $PID
fi
timeStr=`date "+%Y-%m-%dT%H.%M.%S"`
mv rets.log retslog.$timeStr
echo "RETS-LOAD stopped..

$ chmod +x stoprets.sh
  1. Create system service under /etc/systemd/system
$ vi rets.service

[Unit]
Description=RETS data load service
After=mnt.mount mongod.service mysqld.service

[Service]
Type=simple
ExecStart=/usr/programs/web/startrets.sh
ExecStop=/usr/programs/web/stoprets.sh
TimeoutStartSec=0
User=jacky
Group=jacky

[Install]
WantedBy=multi-user.target
  1. Command to enable the service
$ sudo systemctl enable rets
  1. Commands to start/stop/restart/disable/show the service
$ sudo systemctl start rets

$ sudo systemctl stop rets

$ sudo systemctl restart rets

$ sudo systemctl disable rets

$ sudo systemctl status rets
  1. After enable the service, every time after reboot, the service will be brought up automatically

Share this post on:

Previous Post
Math.js and Plotly.js in React
Next Post
How to set up a modded minecraft server