在 CentOS 系统中,使用 nohup
命令运行程序时,可以通过配置 logrotate
工具来实现日志轮转。以下是配置日志轮转的步骤:
logrotate
已经安装在您的 CentOS 系统中。如果没有安装,可以使用以下命令安装:sudo yum install logrotate
/etc/logrotate.d/
目录中。例如,您可以创建一个名为 myapp
的配置文件:sudo vi /etc/logrotate.d/myapp
/path/to/your/app.log {
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
这将强制执行日志轮转,并根据配置文件中的设置处理日志文件。
logrotate
定期运行。logrotate
通常作为 cron 任务自动运行。您可以检查 /etc/cron.daily/logrotate
文件,确保它包含以下内容:#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
如果需要,您可以手动运行此脚本以测试日志轮转:
sudo /etc/cron.daily/logrotate
现在,您的 CentOS 系统应该已经配置好了 nohup
命令的日志轮转。