事件背景
服务应用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.#'