附加到文件的数据,当其值超过 200 MB 时,应创建新文件

附加到文件的数据,当其值超过 200 MB 时,应创建新文件

我编写了一个ps -ef每 5 分钟运行一次的脚本,并将输出附加到一个文件中。我想在当前文件大小超过 200MB 时创建一个新文件。有人可以帮我解决这个问题吗?

答案1

在附加文件之前,您可以将类似的内容添加到脚本中。

FILE="your-file"
if test $(( $(stat  -c"%s" "$FILE") )) -ge "$(( 200*1024*1024 ))"; then
    mv "$FILE" "$FILE-$(date +"%FT%T")"
fi

答案2

查看该logrotate程序。首先,创建一个配置文件,例如/home/john/logrotate/ps.conf,内容如下:(假设您将输出转储ps/home/john/logrotate/log/ps.log

/home/john/logrotate/log/ps.log {
    size = 200MB
    missingok
    notifempty
}

然后就可以创建一个crontab来运行/usr/bin/logrotate /home/john/logrotate/ps.conf。看男人以获得更多选项,例如压缩。

相关内容