按日切割SpringBoot項目日誌插件及shell腳本
- 2019 年 11 月 28 日
- 筆記
好久好久沒更新文章了,感覺自己都比較懶散了。。。事也多,也不知道想給大家分享什麼。
今天這個事我覺得可以給大家分享一下。故事開始:
leader:你幫我找一下昨天的簡訊發送異常的日誌。
小優優:好嘞。
小優優:小優優把昨天同事給小優優發的圖片直接給了Leader。
leader:我要文本的。
小優優:好的,我從伺服器給拉一下。
默默打開打開伺服器,一看日誌文件 26kb,就剩今天重啟後生成的日誌。

呵呵呵呵呵呵呵呵呵呵呵,MD 日誌沒了。。。
一想到leader的臉:怕了怕了。。。。

幸好有伺服器備份的jar包重新跑一下吧。麻蛋、、測試環境沒問題。。。還得到生成環境跑一下有問題的jar包,複製文本給他。嘔吼。徹底完犢子嘍。。

最後用ocr把截圖文本提煉給Leader了,躲過一劫。
幻想:小優優你把生成環境簡訊異常上下文異常複製完整一點。這可咋辦。
小優優主動去找Leader,生成環境和測試環境啟動腳本有問題,每次都會重新生成新的日誌文件,把原有的日誌問題給刪除。
leader:那你想辦法解決一下。
小優優:好的(心裡想:可算逃過一劫。。)
給大家分享一下原來的shell腳本:
#!/bin/bash ## Author kingyifan ## UPDATE 2019-11-14 version="1.0.1"; appName=$2 if [ -z $appName ];then appName=`ls -t |grep .jar$ |head -n1` fi function start() { count=`ps -ef |grep java|grep $appName|wc -l` if [ $count != 0 ];then echo "Maybe $appName is running, please check it..." else echo "The $appName is starting..." nohup java -jar ./$appName -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -Xms128M -Xmx512M > catalina.log 2>&1 & fi } function stop() { appId=`ps -ef |grep java|grep $appName|awk '{print $2}'` if [ -z $appId ];then echo "Maybe $appName not running, please check it..." else echo "The $appName is stopping..." kill $appId fi } function restart() { # get release version releaseApp=`ls -t |grep .jar$ |head -n1` # get last version lastVersionApp=`ls -t |grep .jar$ |head -n2 |tail -n1` appName=$lastVersionApp stop for i in {5..1} do echo -n "$i " sleep 1 done echo 0 backup appName=$releaseApp start } function backup() { # get backup version backupApp=`ls |grep -wv $releaseApp$ |grep .jar$` # create backup dir if [ ! -d "backup" ];then mkdir backup fi # backup for i in ${backupApp[@]} do echo "backup" $i mv $i backup done } function status() { appId=`ps -ef |grep java|grep $appName|awk '{print $2}'` if [ -z $appId ] then echo -e "