分享一个shell启动脚本,希望能对大家有帮助
#!/bin/bash
# jar名称
JAR_NAME=user.jar
LOG=start.log
# [1]PROCESS METHOD
backup() {
print "START BACKUP PROCESSING ------> [ OK ]"
$lastBackup
for file in **.backup; do
if [ ! -e "$lastBackup" ] || [ "$(stat -c %Z "$lastBackup")" -lt "$(stat -c %Z "$file")" ]; then
lastBackup=$file
fi
done
if [ ! -e "$lastBackup" ] || [ "$(stat -c %Z "$JAR_NAME")" -gt "$(stat -c %Z "$lastBackup")" ]; then
$(cp $JAR_NAME $(date +%m%d%H%M)$JAR_NAME.backup)
fi
print "BACKUP SUCCESS ---------------> [ OK ]"
}
prepare() {
print "PREPARE FUNCTION FILE"
if [ ! -d $LOG ]; then
print "CHECK $LOG --------------> [ OK ]"
else
$(touch $LOG)
fi
}
stop() {
print "CLOSE PROJECT PROCESSING -----> [ OK ]"
PID=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}')
if [ -z "$PID" ]; then
print "APPLICATION IS ALREADY STOPPED"
else
print "STOP PID $PID ---------------> [ OK ]"
kill "$PID"
fi
}
start() {
# create jar file backup
if [ ! -d $JAR_NAME ]; then
# start jar project
$(sudo ./config.sh)
if [ $? -eq 0 ]; then
if [ ! -d $JAR_NAME.backup ]; then
rm -rf $JAR_NAME.backup && print "DELETE OLD JAR BACKUP --------> [ OK ]"
print "JAR FUNCTION RESULT ----------> [ OK ]"
else
print "HAVE NO OLD BACKUP"
fi
backup
else
print "PROJECT START FAILURE" && exit
fi
else
print "JAR FILE IS NOT EXIST!" && exit
fi
}
print() {
echo -e "\033[36m $1 \033[0m"
}
deploy() {
prepare
stop
start
}
deploy
# 查看启动日志
tail -f logs/log_all.log
链接:https://pan.baidu.com/s/1RI3zcq6i4-L3HadEnr3T6Q
提取码:m6qy
本文分享了一个实用的shell脚本,用于项目部署,包含启动、停止、备份jar文件及监控日志功能。通过简单的命令行操作,提升开发效率并确保数据安全。
327

被折叠的 条评论
为什么被折叠?



