iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Logrotate滚动openresty日志
  • 489
分享到

Logrotate滚动openresty日志

日志Logrotateopenresty 2023-01-31 08:01:32 489人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

linux服务器上我们用Logrotate来分割归档日志文件,结合crond我们可以指定每天在某个时间自动整理日志等文档。本文主要说明了Centos下Logrotate的使用和配置的方法。配置文件Logrotate的配置文件位于 

linux服务器上我们用Logrotate来分割归档日志文件,结合crond我们可以指定每天在某个时间自动整理日志等文档。本文主要说明了Centos下Logrotate的使用和配置的方法。

配置文件

Logrotate的配置文件位于 /etc/logrotate.conf。
Logrotate的子配置文件位于文件夹 /etc/logrotate.d/ 下,某些软件,入Nginx,会在rpm命令安装后会把对应的nginx日志分割文件释放在此,用于定时整理日志文件。

如何使用

我们先试用帮助命令看一下,需要强调的是

  • -d,其翻译为什么都不做,仅仅是测试,这个参数很大程度方便了我们测试配置文件而不用担心当前的配置出差错。

  • -f,强制执行日志滚动操作。

 

如果想测试配置文件

# 测试所有logrotate配置
/usr/sbin/logrotate -d -v /etc/logrotate.conf
 
# 强制执行日志滚动操作,比如nginx
/usr/sbin/logrotate -d -v /etc/logrotate.d/nginx


单文件

确保openresty已经安装好了,默认的日志文件是 /usr/local/openresty/nginx/logs/host.access.log

我们需要对这个文件,每天做一次切割。

 

编辑文件

vim /etc/logrotate.d/openresty

 

内容如下:

/usr/local/openresty/nginx/logs/host.access.log {
    daily
    rotate 5
    compress
    copytruncate
    dateext
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /usr/local/openresty/nginx/logs/nginx.pid 2> /dev/null` 2> /dev/null || true
    endscript
}


 

参数解释:

复制代码

weekly #默认每天一个日志归档
rotate 5 #最多保存 5 个归档
create #日志滚动后创建一个新的日志文件
dateext #归档文件名加上日期后缀
compress #归档文件是否启用压缩
copytruncate  用于还在打开中的日志文件,把当前日志备份并截断
sharedscripts 作用是在所有的日志文件都轮转完毕后统一执行一次脚本。
dateext表示备份的日志文件后缀格式为YYYYMMDD
postrotate/endscript   在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行

复制代码

 

强制执行回滚

/usr/sbin/logrotate -vf /etc/logrotate.d/openresty

 

查看日志目录,就会多出一个gz文件

root@ubuntu:/usr/local/openresty/nginx/logs# ll
total 28
drwxr-xr-x  2 root root 4096 Jul 16 06:25 ./
drwxr-xr-x 12 root root 4096 Jul 15 17:17 ../
-rw-r--r--  1 root root  417 Jul 15 17:18 access.log
-rw-r--r--  1 root root  587 Jul 15 18:40 error.log
-rw-r--r--  1 root root    0 Jul 16 06:25 host.access.log
-rw-r--r--  1 root root  206 Jul 15 18:41 host.access.log-20190715.gz
-rw-r--r--  1 root root    5 Jul 16 02:39 nginx.pid


 

理论是每天会执行一次,查看任务计划

root@ubuntu:~# cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
shell=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user  command
*    * * *   root    cd / && run-parts --report /etc/cron.hourly
6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#


 

可以发现,每天的任务计划,是6:25执行一次。

如果不想等的话,直接修改系统时间,提前一天

date -s "2019-07-16 06:24:58"

 

注意:等到6:25的时候,日志文件,不会立即产生。我猜测,是还有其他的脚本要执行。

等待2分钟,就会出现新的文件。

root@ubuntu:/usr/local/openresty/nginx/logs# ll
total 28
drwxr-xr-x  2 root root 4096 Jul 16 06:25 ./
drwxr-xr-x 12 root root 4096 Jul 15 17:17 ../
-rw-r--r--  1 root root  417 Jul 15 17:18 access.log
-rw-r--r--  1 root root  587 Jul 15 18:40 error.log
-rw-r--r--  1 root root    0 Jul 16 06:25 host.access.log
-rw-r--r--  1 root root  206 Jul 15 18:41 host.access.log-20190715.gz
-rw-r--r--  1 root root  201 Jul 15 18:42 host.access.log-20190716.gz
-rw-r--r--  1 root root    5 Jul 16 02:39 nginx.pid


 

多日志文件与通配符

一个配置条目 日志文件 { 配置项 } 不仅仅支持一个日志文件,可以配置多个文件或使用通配符,如

/var/log/Httpd/access.log /var/log/httpd/error.log {
....
}
 
# 或
/var/log/httpd/access.log
/var/log/httpd/error.log {
...
}

 

通配符的形式

/var/log/newsstdout.log {
...
}
 
/var/log*.log {...} 将会对 /var/log/ 下所有目录中的 *.log 文件产生效果。比如下面那样的文件

/var/log/aa/x.log
/var/log/bb/y.log
/var/log/cc/z.log

针对多个日志文件时,归档文件也会生成在相应日志所在目录中。有了多日志文件与通配符的支持,能够通过一个配置对系统中众多日志文件采取一致的行动。

 

举例

查看 /usr/local/openresty/nginx/logs 目录,有3个日志文件,分别是 access.log,error.log,host.access.log。

host.access.log 已经做了滚动,现在需要对另外个日志文件,也做一下滚动。

有2种写法,先看第一种:通配符的形式

/usr/local/openresty/nginx/logs/*.log {
    daily
    rotate 5
    compress
    copytruncate
    dateext
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /usr/local/openresty/nginx/logs/nginx.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

 

第二种:多个文件形式

/usr/local/openresty/nginx/logs/access.log
/usr/local/openresty/nginx/logs/error.log
/usr/local/openresty/nginx/logs/host.access.log {
    daily
    rotate 5
    compress
    copytruncate
    dateext
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /usr/local/openresty/nginx/logs/nginx.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

 

这2种写法,效果是一样的。

先强制回滚一下

/usr/sbin/logrotate -vf /etc/logrotate.d/openresty

 

修改日期

date -s "2019-07-17 06:24:58"

 

等待2分钟,再次查看日志目录,效果如下:

root@ubuntu:/etc/logrotate.d# ll /usr/local/openresty/nginx/logs/
total 36
drwxr-xr-x  2 root root 4096 Jul 18 06:25 ./
drwxr-xr-x 12 root root 4096 Jul 15 17:17 ../
-rw-r--r--  1 root root    0 Jul 18 06:25 access.log
-rw-r--r--  1 root root  229 Jul 15 17:18 access.log-20190718.gz
-rw-r--r--  1 root root    0 Jul 18 06:25 error.log
-rw-r--r--  1 root root  382 Jul 16 18:19 error.log-20190718.gz
-rw-r--r--  1 root root    0 Jul 18 06:25 host.access.log
-rw-r--r--  1 root root  206 Jul 15 18:41 host.access.log-20190715.gz
-rw-r--r--  1 root root  201 Jul 15 18:42 host.access.log-20190716.gz-rw-r--r--  1 root root   20 Jul 17 06:25 host.access.log-20190718.gz
-rw-r--r--  1 root root    5 Jul 16 17:48 nginx.pid

 

本文参考链接:

https://blog.PHPgao.com/logrotate_conf.html

https://yanbin.blog/linux-config-log-ratation-logrotate/#more-8826


--结束END--

本文标题: Logrotate滚动openresty日志

本文链接: https://www.lsjlt.com/news/193572.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Logrotate滚动openresty日志
    Linux服务器上我们用Logrotate来分割归档日志文件,结合crond我们可以指定每天在某个时间自动整理日志等文档。本文主要说明了Centos下Logrotate的使用和配置的方法。配置文件Logrotate的配置文件位于 ...
    99+
    2023-01-31
    日志 Logrotate openresty
  • Linux进阶(日志分割工具logrotate)
    一、工具介绍 logrotate是一个linux系统日志的管理工具。可以对单个日志文件或者某个目录下的文件按时间/大小进行切割,压缩操作;指定日志保存数量;还可以在切割之后运行自定义命令。 logrotate是基于crontab运行的,所以...
    99+
    2023-09-05
    linux 服务器 运维
  • logrotate中怎么管理VPS日志文件
    这篇文章将为大家详细讲解有关logrotate中怎么管理VPS日志文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。logrotate 程序还可以用于压缩日志文件,以及发送日志到指定的E-m...
    99+
    2023-06-10
  • 如何用logrotate管理每日增长的日志
    目录logrotate简介安装logrotatelogrotate基本工作原理logrotate的配置和使用总结logrotate简介 logrotate is designed to ease administrati...
    99+
    2023-05-12
    logrotate管理日志 logrotate管理增长的日志 管理每日增长的日志
  • logrotate实现日志切割方式(转储)
    目录logrotate日志切割(转储)背景日志切割配置文件/etc/logrotate.conf设置定时任务logrotate日志切割报错 文件不再同一个用户组下总结logrotate日志切割(转储) 背景 系统每天凌晨...
    99+
    2023-05-12
    logrotate日志切割 logrotate转储 logrotate实现日志切割
  • Linux日志文件管家logrotate怎么用
    这篇文章给大家分享的是有关Linux日志文件管家logrotate怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志...
    99+
    2023-06-27
  • Linux日志处理命令logrotate怎么用
    这篇文章主要介绍了Linux日志处理命令logrotate怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linux使用某些软件的时候会产生日志文件,而这些软件本身对日志...
    99+
    2023-06-27
  • node 使用 pm2 日志管理及使用 pm2-logrotate 进行日志分割
    目录 1. 需求背景  2. 什么是 pm2-logrotate ? 3. 查看 pm2 自带的日志管理 4. 安装 pm2-logrotate 5. 查看配置指令  6. pm2-logrotate 具体配置说明 7. 如何设置这些值? ...
    99+
    2023-10-04
    linux 运维 服务器
  • Logrotate如何实现每小时切割日志文件
    目录一、Logrotate背景介绍1.1 安装二、logrotate配置介绍三、实现每小时切割日志文件3.1、添加 logrotate 配置文件3.2 执行命令3.3加入定时任务总结...
    99+
    2023-05-19
    Logrotate切割日志文件 Logrotate日志文件切割 日志切割Logrotate
  • Linux中logrotate如何进行日志文件管理
    Linux中logrotate如何进行日志文件管理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。系统中发生的各种有用的信息都会保留到日志文件中,在排查过程或者系统分析性能实...
    99+
    2023-06-28
  • 如何滚动docker中的nginx日志文件
    这篇文章主要介绍“如何滚动docker中的nginx日志文件”,在日常操作中,相信很多人在如何滚动docker中的nginx日志文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • Nginx利用Logrotate实现日志分割的详细过程
    目录前言Logrotate用法1.安装2.基本用法详解2.1 入门2.2 分割文件压缩2.3 按照时间分割2.4 按照文件大小分割2.5 自定义每小时分割2.6 自定义分割执行时间n...
    99+
    2024-04-02
  • python中用logging实现日志滚
    用python中的logging库实现日志滚动和过期日志删除。 logging库提供了两个可以用于日志滚动的class(可以参考https://docs.python.org/2/library/logging.handler...
    99+
    2023-01-31
    中用 日志 python
  • Linux系统中使用logrotate来管理日志文件的方法
    本篇内容主要讲解“Linux系统中使用logrotate来管理日志文件的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中使用logrotate来管理日志文件的方法”吧!在Deb...
    99+
    2023-06-13
  • python (logging) 日志按日期、大小回滚的操作
    描述: 日志按日期、大小回滚 代码: # -*- coding: utf-8 -*- import os import logging.handlers log_dir = o...
    99+
    2024-04-02
  • python-logging)日志怎么实现按日期、大小回滚
    这篇文章主要讲解了“python-logging)日志怎么实现按日期、大小回滚”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python-logging)日志怎么实现按日期、大小回滚”吧!描...
    99+
    2023-06-14
  • oracle启动日志在哪里
    oracle启动日志位于oracle_home目录下的logs文件夹中,具体的路径格式如下:linux/unix:$oracle_home/logs//alert_.logwindows...
    99+
    2024-05-11
    oracle linux notepad
  • 怎么利用oracle的日志挖掘实现回滚
    这篇文章主要讲解了“怎么利用oracle的日志挖掘实现回滚”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么利用oracle的日志挖掘实现回滚”吧!&nbs...
    99+
    2024-04-02
  • DatePicker日期滚动选择使用详解
    本文实例为大家分享了DatePicker日期滚动选择的使用,供大家参考,具体内容如下 效果图为: 1.dialog_date.xml: <xml version="1.0" ...
    99+
    2024-04-02
  • qt日期滚动事件怎么设置
    您可以使用QCalendarWidget控件来实现日期滚动事件的设置。首先,您需要在Qt Designer中添加一个QCalenda...
    99+
    2023-10-23
    qt
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作