定期清理nohup.out


事件背景


服務應用weblogic通過nohup啟動.

nohup的使用全部都在weblogic域中的bin目錄下

但是沒有做定期nohup.out的清理
導致核心服務的日志過大,在出現問題時候難以打開日志進行問題定位

處理方法


crontab 加腳本每天凌晨清理備份一次nohup日志

腳本如下

#!/bin/bash

#ENV
DATE=$(date +"%m-%d")
BASE=$(awk -F"'" '/gobin/{print $2}' ~/.bashrc|awk '{print $2}')
FILE=$BASE'log'
LOG=$BASE'nohup.out'


#Check if the log file exist
if [ ! -d $FILE ];then
mkdir $FILE
fi

#Backup the log to the FILE
echo "$DATE"
echo '#Back up the log file#'
cp $LOG $FILE/$DATE.log

#Clean today's log
echo 'Start to clear..'
cp /dev/null $LOG

#Delete files from seven days ago
find $FILE -type f -mtime +7 -name "*.log" -exec rm {} \;
echo '#Finished.#'

腳本ENV取當前變量說明

目的腳本要適應多台服務器中的weblogic域路徑,

利用weblogic用戶下的alias(里面在部署項目時候設置有域的bin路徑)

cat ~/.bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

...


export PS1="<\! `hostname` [`whoami`] :"'$PWD'">"
alias gobin='cd /home/weblogic/bea/user_projects/domains/pro_domain/bin/'


...

 

# User specific aliases and functions

截取里面域的路徑

BASE=$(awk -F"'" '/gobin/{print $2}' ~/.bashrc|awk '{print $2}')

 

通過自動獲取域的路徑,同時通過ansible批發到核心服務當中.

再配合crontab實現核心服務器日志的定期清理

 

 

 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM