一、启动脚本编写
#!/bin/bash
#name:******service.sh;
#date:2020-12-02;
#此处修改脚本名称:
APP_NAME=jar包名.jar
#脚本菜单项
usage() {
#提示信息
echo "Usage: sh 脚本名称.sh [start|stop|restart|status]"
exit 1
}
#检查程序是否在运行
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
#启动方法
start(){
is_exist
if [ $? -eq 0 ]; then
echo "Service ${JAR_NAME} is already running,it's pid = ${pid}. "
else
nohup Java -jar jar包名称 nohup.out &
fi
}
#停止脚本
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
}
#显示当前jar运行状态
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}
#重启脚本
restart(){
stop
start
}
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
二、分割脚本编写
# !/bin/bash
# 1.该shell命令用于按小时拆分nohup.out日志,并按服务名_年月日_时重新命名
# 2.把原有nohup.out文件置空
#path是绝对路径
path=/home/jar/***service
date=nohup_`date '+%Y%m%d_%H'.out`
#日志按小时拆分
#1.复制原有nohup.out并重新命名
#2.${path}是项目绝对路径,vbasic是项目名,nouhuplog是存放日志的目录
cp ${path}/nohup.out ${path}/nohuplog/jg-service_$date
#置空原有nohup.out文件
cp /dev/null ${path}/nohup.out
三、添加定时任务
编辑crontab文件:crontab -e
添加定时任务:
#每天5.30执行splitnohup.sh脚本进行日志拆分
30 5 * * * root splitnohup.sh
保存完重启crond : service crond restart
-----------------------------------------------------------------------------------------------------------------------------------
做完以上一步就可以实现定时拆分nohup.out日志了!!!以后有升级再来哈哈哈!
注意:在Windows下标记好的脚本需要执行此命令,否则会出现报错 “build.sh /bin/bash^M: 坏的解释器:没有那个文件或目录 ”
sed -i 's/\r$//' build.sh
crontab用法
crontab –e : 修改 crontab 文件,如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户