logrotate管理nginx日志

使用 logrotate 来管理 Nginx 日志可以帮助你定期轮换日志文件,防止日志文件变得过大。下面是详细的教程,如何使用 logrotate 来管理 Nginx 日志。

配置 logrotate

创建或编辑一个新的 logrotate 配置文件来管理 Nginx 日志文件。例如,我们可以在 /etc/logrotate.d/ 目录下创建一个名为 nginx 的文件:

sudo nano /etc/logrotate.d/nginx

配置文件内容

按天分割日志

在该文件中添加以下内容(假设你的 Nginx 日志文件位于 /www/wwwlogs/ 目录):

/www/wwwlogs/*.log {
    daily
    rotate 5
    missingok
    notifempty
    create 640 www www
    sharedscripts
    postrotate
        [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
    endscript
}
按文件大小分割日志
/var/log/nginx/*.log {
    size 500M                # 当日志文件超过 500MB 时进行轮转
    rotate 5                 # 保留 5 个轮转文件
    missingok                # 如果日志文件丢失,则忽略错误
    notifempty               # 如果日志为空,则不轮转
    create 640 www www       # 轮转后的日志文件权限和所有者
    sharedscripts            # 运行脚本时共享处理
    postrotate
        [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
    endscript
}
  • daily:表示每天轮转日志文件。
  • missingok:如果日志文件丢失,不会产生错误。
  • rotate 5:保留 5 天的日志文件。
  • compress:轮转的日志文件将被压缩。
  • delaycompress:延迟一个轮转周期再压缩日志文件。
  • notifempty:如果日志文件为空,不进行轮转。
  • create 0640 www www:使用指定的权限和所有者创建新的日志文件。
  • sharedscripts:确保 postrotate 脚本只运行一次。
  • postrotateendscript:在日志轮转后重新加载 Nginx,以使其使用新的日志文件。

指定单个日志文件

/www/wwwlogs/abc.log {

}

指定多个日志文件

/www/wwwlogs/abc.log /www/wwwlogs/abc.error.log{

}

指定目录下的所有.log结尾的日志文件

/www/wwwlogs/*.log {

}

测试 logrotate 配置

在使用前测试你的 logrotate 配置是否正确:

sudo logrotate -d /etc/logrotate.d/nginx

如果一切正常,你会看到类似的输出,而不会有错误信息。

手动运行 logrotate

可以手动运行 logrotate 以确认其工作正常:

sudo logrotate -f /etc/logrotate.d/nginx

定时运行

logrotate 默认情况下会通过 cron 作业每日运行一次。在 /etc/cron.daily 目录下,你会发现一个名为 logrotate 的脚本,这将确保 logrotate 每天运行并轮转日志文件。

以上就是使用 logrotate 来管理 Nginx 日志的基本步骤。这将确保你的 Nginx 日志文件不会无限增长,占用过多的磁盘空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陌北v1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值