xshell腳本啟動JAR包-定時任務拆分日志

一、啟動腳本編寫

#!/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 文件前提醒用戶

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容