我编写了一个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
。看男人以获得更多选项,例如压缩。