#!/bin/bash
app_name=market-web.jar
log_file=market-web.log
echo 将要启动的jar包:${app_name}
pid=`ps -ef |grep "${app_name}" | grep -v grep | awk '{print $2}'`
echo 将要杀死原来的进程$pid
kill -9 $pid
echo "$pid进程终止成功"
#kill -9 `ps -ef |grep "${app_name}" | grep -v grep | awk '{print $2}'`
sleep 2
echo "判断jar包${app_name}文件是否存在,如果存在启动${app_name}包"
if test -e $app_name
then
echo '文件存在,开始启动此程序...'
# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件
nohup java -jar "${app_name}" > ${log_file} &
tail -f ${log_file}
#echo "$app_name 启动成功..."
else
echo "$app_name 文件不存在,请检查。"
fi
-------------------------------------
新建.sh文件,写入以上脚本,启动定时任务
centos配置定时任务
$ yum install crontabs
$systemctl enable crond
$ systemctl start crond
$ vim /etc/crontab
配置文件中写入
59 23 * * * root /home/java/start.sh
此例代表每天23:59执行
保存生效
$ crontab /etc/crontab
注:
1、权限问题 (-bash: ./start.sh: Permission denied)
进入文件目录运行 chmod u+x *.sh
2、格式问题(-bash: ./start.sh: /bin/bash^M: bad interpreter: No such file or directory)
文件目录运行 sed -i "s/\r//" start.sh