在 CentOS 系统中,使用 nohup 命令运行程序时,默认情况下,输出会被重定向到一个名为 nohup.out 的文件中。为了实现日志滚动策略,你可以使用 logrotate 工具来管理日志文件。
logrotate 是一个用于管理日志文件的系统工具,它可以自动压缩、删除和创建新的日志文件。要配置 logrotate,你需要创建一个配置文件,通常位于 /etc/logrotate.d/ 目录下。
以下是一个简单的 logrotate 配置示例,用于管理使用 nohup 命令运行的程序的日志文件:
/path/to/your/logfile.log {
daily
rotate 7
compress
missingok
notifempty
create 640 root root
}
在这个示例中,我们指定了以下选项:
daily: 每天滚动日志文件。rotate 7: 保留最近 7 个滚动日志文件。compress: 对旧的日志文件进行压缩。missingok: 如果日志文件不存在,不会产生错误。notifempty: 如果日志文件为空,不进行滚动。create 640 root root: 创建新的日志文件,权限为 640,属主为 root,属组为 root。要使这个配置生效,你需要将其保存到 /etc/logrotate.d/ 目录下的一个文件中,例如 myapp。然后,logrotate 将根据配置自动管理日志文件。
注意:logrotate 默认会每天检查一次日志文件,你可以通过修改 /etc/logrotate.conf 文件中的 daily 选项来更改检查频率。