centos

centos nohup日志轮转策略

小樊
41
2025-03-27 20:56:56
栏目: 智能运维

在CentOS系统中,使用nohup命令在后台运行程序时,通常会将程序的输出重定向到一个名为nohup.out的文件中。然而,对于长时间运行的程序,为了更好地管理日志文件的大小和数量,可以使用logrotate工具进行日志轮转。

nohup命令基本用法

logrotate简介

logrotate配置文件

logrotate常用选项

自定义nohup日志轮转策略

在使用nohup命令时,可以通过重定向将日志输出到特定的文件,并结合logrotate进行日志轮转。例如,可以使用以下命令将test.sh脚本的输出日志保存到test.log文件中,并配置logrotate按天轮转日志文件:

nohup sh test.sh > test.log 2>&1 &

然后,创建或编辑/etc/logrotate.d/test.log文件,添加以下内容:

/path/to/test.log {
    daily
    rotate 7
    create 0644 root root
    compress
    missingok
    notifempty
    sharedscripts
    postrotate
        /etc/init.d/test.sh reload > /dev/null
    endscript
}

在这个配置中,daily表示每天轮转一次日志文件,rotate 7表示保留7个备份文件,create 0644 root root指定新文件的权限,compress表示压缩旧的日志文件,missingok表示如果日志文件不存在则不轮转,notifempty表示如果日志文件为空则不轮转,sharedscripts表示轮转后执行postrotate脚本,postrotate脚本中包含重新加载服务的命令,以确保日志轮转后服务能够继续记录日志。

请注意,上述配置仅为示例,实际应用时需要根据具体需求调整日志文件路径、轮转周期、权限等参数。

0
看了该问题的人还看了