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.
- 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
- 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
- Command to enable the service
$ sudo systemctl enable rets
- 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
- After enable the service, every time after reboot, the service will be brought up automatically