说明:
nohup java -jar xxx.jar >xxx.log 2>&1 &
后台运行程序时配置输出的日志文件会越来越大,解决日志拆分的问题。
该脚本是将指定目录下所有(不遍历).log文件,生成对应的与文件同名的目录,每天备份一个日志文件。
原理:
通过Linux定时任务来备份日志文件,并清空当前日志文件。
Shell脚本:
separate_log.sh
folder_name="/root/logs"
for file_a in ${folder_name}/*
do
if [ -d $file_a ]; then
continue
fi
temp_file=`basename $file_a .log`
path="$folder_name/$temp_file"
mkdir -p "$path"
new_file=$path/$temp_file.`date -d yesterday +%Y%m%d`.log
cp $file_a $new_file
cat /dev/null > $file_a
date=$(date "+%Y-%m-%d %H:%M:%S")
echo "[$date]备份日志 $new_file" >>separate_log.log
done定时任务:
每天0点执行
crontab -e
0 0 * * * /root/separate_log.sh