0

我有一个自定义脚本正在运行,我想将脚本的输出和几个执行阶段重定向到日志文件。

我的要求是 - 当日志文件大小超过 20 MB 时,我会将内容移动到新文件,并且我的脚本会重新创建日志文件。在任何时候,我都会备份最近的日志内容。我试图提出以下逻辑:

if [  -e "$logfile" ]

then

    logsize=ls -l $logfile |awk '{print $5}'

    ls -l $logfile |awk '{print $5}'

    if [ "$logsize" -gt 2097152 ]

    then

        mv $logfile $(date +"%Y%m%d%H%M").log

        touch $logfile

    fi

else

    touch $logfile

fi

我想得到专家的想法,如果有任何其他有效的方法来完成这项任务,请告诉我。

4

1 回答 1

1

我认为您应该改用logrotate命令或构建自定义脚本。

阅读本指南

您的要求的示例配置如下所示:

/var/log/logfile {
   missingok
   size 20M       
   rotate 5

}

于 2013-06-21T10:04:26.233 回答