说明:

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
最后修改:2021 年 05 月 25 日 05 : 29 PM
如果觉得我的文章对你有用,请随意赞赏