在 CentOS 系统中,使用 nohup
命令运行程序时,日志文件可能会变得非常大。为了更好地管理这些日志文件,可以使用日志分割工具,例如 logrotate
- 确保
logrotate
已经安装在你的 CentOS 系统上。如果没有安装,可以使用以下命令安装:
sudo yum install logrotate
- 创建一个新的
logrotate
配置文件,例如/etc/logrotate.d/myapp
。你可以使用任何文本编辑器创建和编辑这个文件,例如vi
或nano
:
sudo vi /etc/logrotate.d/myapp
- 在新创建的配置文件中,添加以下内容:
/path/to/your/logs/myapp.log { daily rotate 7 compress missingok notifempty create 640 root root }
这里的配置表示:
- 每天分割一次日志文件(
daily
)。 - 保留最近 7 天的日志文件(
rotate 7
)。 - 对旧的日志文件进行压缩(
compress
)。 - 如果日志文件不存在,不要报错(
missingok
)。 - 如果日志文件为空,不进行分割(
notifempty
)。 - 创建新的日志文件,权限为 640,属主为 root,属组为 root(
create 640 root root
)。
请根据你的实际情况修改日志文件的路径和其他选项。
-
保存并关闭配置文件。
-
测试
logrotate
配置是否正确:
sudo logrotate -f /etc/logrotate.d/myapp
这个命令会强制执行日志分割,即使日志文件没有达到配置文件中指定的大小或时间间隔。
现在,logrotate
将根据你的配置自动分割 nohup
生成的日志文件。如果你想要定期执行日志分割,可以将 logrotate
添加到 cron
任务中。