在CentOS系统中,使用nohup命令运行程序时,通常会将输出重定向到一个名为nohup.out的文件中。为了防止这个文件变得过大,我们可以使用日志轮转工具logrotate来管理日志文件。
以下是配置logrotate以轮转nohup.out文件的步骤:
logrotate已安装:sudo yum install logrotate -y
logrotate配置文件,例如/etc/logrotate.d/myapp:sudo vi /etc/logrotate.d/myapp
/path/to/your/nohup.out {
daily
rotate 7
compress
missingok
notifempty
create 640 root root
}
这里的配置表示:
daily: 每天轮转一次日志文件。rotate 7: 保留7个轮转后的日志文件。compress: 压缩轮转后的日志文件。missingok: 如果日志文件不存在,不会产生错误。notifempty: 如果日志文件为空,不进行轮转。create 640 root root: 轮转后创建新的日志文件,权限为640,属主和属组为root。根据你的需求,可以根据需要调整这些选项。
保存并关闭配置文件。
测试logrotate配置是否正确:
sudo logrotate -f /etc/logrotate.d/myapp
这将强制执行一次日志轮转。你可以检查/path/to/your/目录下是否生成了新的nohup.out.1.gz文件。
现在,logrotate将自动按照配置的规则轮转nohup.out文件。如果你希望定期(例如每天)自动执行日志轮转,可以将logrotate命令添加到cron任务中。