iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >在 Linux 系统中手动滚动日志的方法
  • 709
分享到

在 Linux 系统中手动滚动日志的方法

linux滚动日志linux手动滚动日志 2022-06-03 14:06:46 709人浏览 独家记忆
摘要

日志滚动log rotation在 linux 系统上是再常见不过的一个功能了,它为系统监控和故障排查保留必要的日志内容,同时又防止过多的日志造成单个日志文件太大。 日志滚动的过程是这样的:在一组日志文件之中,编号最

日志滚动log rotation在 linux 系统上是再常见不过的一个功能了,它为系统监控和故障排查保留必要的日志内容,同时又防止过多的日志造成单个日志文件太大。

日志滚动的过程是这样的:在一组日志文件之中,编号最大的(最旧的)一个日志文件会被删除,其余的日志文件编号则依次增大并取代较旧的日志文件,而较新的文件则取代它作为当前的日志文件。这一个过程很容易就可以实现自动化,在细节上还能按需作出微调。

使用 logrotate 命令可以手动执行日志滚动的操作。本文将要介绍的就是手动进行日志滚动的方法,以及预期产生的结果。

文中出现的示例适用于 ubuntu 等 Linux 系统,对于其它类型的系统,日志文件和配置文件可能会有所不同,但日志滚动的过程是大同小异的。

为什么需要滚动日志

一般情况下,无需手动旋转日志文件。Linux 系统会每隔一天(或间隔更长的时间)或根据日志文件的大小自动进行一次日志滚动。如果你需要滚动日志以释放存储空间,又或者将某一部分日志从当前的活动中分割出来,这很容易做到,具体要取决于文件滚动规则。

一点背景介绍

在 Linux 系统安装完成后就已经有很多日志文件被纳入到日志滚动的范围内了。另外,一些应用程序在安装时也会为自己产生的日志文件设置滚动规则。一般来说,日志滚动的配置文件会放置在 /etc/logrotate.d。如果你想了解日志滚动的详细实现,可以参考这篇以前的文章。

在日志滚动的过程中,活动日志会以一个新名称命名,例如 log.1,之前被命名为 log.1 的文件则会被重命名为 log.2,依此类推。在这一组文件中,最旧的日志文件(假如名为 log.7)会从系统中删除。日志滚动时文件的命名方式、保留日志文件的数量等参数是由 /etc/logrotate.d 目录中的配置文件决定的,因此你可能会看到有些日志文件只保留少数几次滚动,而有些日志文件的滚动次数会到 7 次或更多。

例如 syslog 在经过日志滚动之后可能会如下所示(注意,行尾的注释部分只是说明滚动过程是如何对文件名产生影响的):


$ ls -l /var/log/syslog*
-rw-r----- 1 syslog adm 128674 Mar 10 08:00 /var/log/syslog <== 新文件
-rw-r----- 1 syslog adm 2405968 Mar 9 16:09 /var/log/syslog.1 <== 之前的 syslog
-rw-r----- 1 syslog adm 206451 Mar 9 00:00 /var/log/syslog.2.gz <== 之前的 syslog.1
-rw-r----- 1 syslog adm 216852 Mar 8 00:00 /var/log/syslog.3.gz <== 之前的 syslog.2.gz
-rw-r----- 1 syslog adm 212889 Mar 7 00:00 /var/log/syslog.4.gz <== 之前的 syslog.3.gz
-rw-r----- 1 syslog adm 219106 Mar 6 00:00 /var/log/syslog.5.gz <== 之前的 syslog.4.gz
-rw-r----- 1 syslog adm 218596 Mar 5 00:00 /var/log/syslog.6.gz <== 之前的 syslog.5.gz
-rw-r----- 1 syslog adm 211074 Mar 4 00:00 /var/log/syslog.7.gz <== 之前的 syslog.6.gz

你可能会发现,除了当前活动的日志和最新一次滚动的日志文件之外,其余的文件都已经被压缩以节省存储空间。这样设计的原因是大部分系统管理员都只需要查阅最新的日志文件,其余的日志文件压缩起来,需要的时候可以解压查阅,这是一个很好的折中方案。

手动日志滚动

你可以这样执行 logrotate 命令进行手动日志滚动:

$ sudo logrotate -f /etc/logrotate.d/rsyslog

值得一提的是,logrotate 命令使用 /etc/logrotate.d/rsyslog 这个配置文件,并通过了 -f 参数实行“强制滚动”。因此,整个过程将会是:

  • 删除 syslog.7.gz,
  • 将原来的 syslog.6.gz 命名为 syslog.7.gz,
  • 将原来的 syslog.5.gz 命名为 syslog.6.gz,
  • 将原来的 syslog.4.gz 命名为 syslog.5.gz,
  • 将原来的 syslog.3.gz 命名为 syslog.4.gz,
  • 将原来的 syslog.2.gz 命名为 syslog.3.gz,
  • 将原来的 syslog.1.gz 命名为 syslog.2.gz,
  • 但新的 syslog 文件不一定必须创建。

你可以按照下面的几条命令执行操作,以确保文件的属主和权限正确:


$ sudo touch /var/log/syslog
$ sudo chown syslog:adm /var/log/syslog
$ sudo chmod 640 /var/log/syslog

你也可以把以下这一行内容添加到 /etc/logrotate.d/rsyslog 当中,由 logrotate 来帮你完成上面三条命令的操作:

create 0640 syslog adm

整个配置文件的内容是这样的:


/var/log/syslog
{
rotate 7
daily
missinGok
notifempty
create 0640 syslog adm <==
delaycompress
compress
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}

下面是手动滚动记录用户登录信息的 wtmp 日志的示例。由于 /etc/logrotate.d/wtmp 中有 rotate 2 的配置,因此系统中只保留了两份 wtmp 日志文件。

滚动前:


$ ls -l wtmp*
-rw-r----- 1 root utmp 1152 Mar 12 11:49 wtmp
-rw-r----- 1 root utmp 768 Mar 11 17:04 wtmp.1

执行滚动命令:

$ sudo logrotate -f /etc/logrotate.d/wtmp

滚动后:


$ ls -l /var/log/wtmp*
-rw-r----- 1 root utmp 0 Mar 12 11:52 /var/log/wtmp
-rw-r----- 1 root utmp 1152 Mar 12 11:49 /var/log/wtmp.1
-rw-r----- 1 root adm 99726 Feb 21 07:46 /var/log/wtmp.report

需要知道的是,无论发生的日志滚动是自动滚动还是手动滚动,最近一次的滚动时间都会记录在 logrorate 的状态文件中。


$ grep wtmp /var/lib/logrotate/status
"/var/log/wtmp" 2020-3-12-11:52:57

总结

到此这篇关于在 Linux 系统中手动滚动日志的文章就介绍到这了,更多相关linux 滚动日志内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 在 Linux 系统中手动滚动日志的方法

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

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

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

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

下载Word文档
猜你喜欢
  • linux怎么查看系统启动日志
    在Linux系统中,可以通过以下几种方式来查看系统启动日志:1. 使用命令查看日志文件:使用命令cat /var/log/boot....
    99+
    2023-10-21
    linux
  • 怎么手动将消息添加到Linux系统日志文件
    这篇文章给大家分享的是有关怎么手动将消息添加到Linux系统日志文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。日志文件是包含系统本身已记录的一组记录(或事件列表)的文件。使用日志文件,系统管理员可以跟踪在特定...
    99+
    2023-06-16
  • 如何滚动docker中的nginx日志文件
    这篇文章主要介绍“如何滚动docker中的nginx日志文件”,在日常操作中,相信很多人在如何滚动docker中的nginx日志文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • mysql binlog日志的自动清理及手动删除的方法
    这篇文章主要介绍“mysql binlog日志的自动清理及手动删除的方法”,在日常操作中,相信很多人在mysql binlog日志的自动清理及手动删除的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用...
    99+
    2024-04-02
  • 在Linux终端动态查看mysql日志文件的方法
    这篇文章将为大家详细讲解有关在Linux终端动态查看mysql日志文件的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在Linux终端动态查看mysql日志文件的方法...
    99+
    2024-04-02
  • Linux操作系统下硬盘的手动和自动挂载的方法
    本篇内容介绍了“Linux操作系统下硬盘的手动和自动挂载的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 手动挂载在Linux中也可以读...
    99+
    2023-06-10
  • Win7系统中查看Windows日志的方法
      Windows日志位于计算机管理的事件查看器中,用于存储来自旧版应用程序的事件以及适用于整个系统的事件。   Win7系统的Windows日志包括五个类别,分别为应用程序日志、安全日志、系统日志、安装程序日志和转发事...
    99+
    2023-06-14
    Win7系统 查看Windows日志 Win7 Windows 系统 日志 方法
  • Linux系统中使用logrotate来管理日志文件的方法
    本篇内容主要讲解“Linux系统中使用logrotate来管理日志文件的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中使用logrotate来管理日志文件的方法”吧!在Deb...
    99+
    2023-06-13
  • Linux中Centos7.4手动在线升级到Centos7.7的方法
    本文小编为大家详细介绍“Linux中Centos7.4手动在线升级到Centos7.7的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux中Centos7.4手动在线升级到Centos7.7的方法”文章能帮助大家解决疑惑,下面跟...
    99+
    2023-06-29
  • PHP CMS系统中常见的滚动文字特效设计方法
    随着网络技术的不断发展,越来越多的网站采用了PHP CMS系统来构建和管理网站内容。而在这些网站中,常常会使用滚动文字来吸引用户的注意和传达信息,以提升网站的用户体验和功能性。在本文中...
    99+
    2024-04-02
  • Springboot动态修改日志级别的方法
    目录一、前言二、Spring boot 2.1调整方式1、查看当前应用各包/类的日志级别2、查看指定包/类日志详情3、动态修改日志级别三、Spring boot 1.5 调整方式一、...
    99+
    2022-12-19
    Spring boot动态修改日志级别 Spring boot日志级别
  • html中隐藏滚动条的方法
    html中隐藏滚动条的方法有:可以使用css样式“overflow-y”或者“overflow-x”中的“hidden”属性值进行设置,这里“overflow-y”和“overflow-x”分别代表了水平滚动条和垂直滚动条,如果需要隐藏水平...
    99+
    2024-04-02
  • 在Linux系统中怎么使用logwatch读取日志
    这篇文章主要介绍“在Linux系统中怎么使用logwatch读取日志”,在日常操作中,相信很多人在在Linux系统中怎么使用logwatch读取日志问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”在Linux系...
    99+
    2023-06-13
  • Tomcat日志自动分割的三种方法
    目录1、方法一:使用 cronolog2、方法二:使用 rotatelogs3、方法三:使用脚本修改前的 tomcat 都是将所有数据保存在一个日志文件 catalina.out 中...
    99+
    2024-04-02
  • css中设置滚动条的方法
    小编给大家分享一下css中设置滚动条的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! &nb...
    99+
    2024-04-02
  • css中隐藏滚动条的方法
    css中隐藏滚动条的方法有:可以使用“overflow-y”或者“overflow-x”中的“hidden”属性值进行设置,这里“overflow-y”和“overflow-x”分别代表了水平滚动条和垂直滚动条,如果需要隐藏水平滚动条,则在...
    99+
    2024-04-02
  • Linux操作系统启动时怎样自动启用oracle standby备库日志应用
    这期内容当中小编将会给大家带来有关Linux操作系统启动时怎样自动启用oracle standby备库日志应用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 ...
    99+
    2024-04-02
  • 在WPF中实现平滑滚动的方法详解
    WPF实现滚动条还是比较方便的,只要在控件外围加上ScrollViewer即可,但美中不足的是:滚动的时候没有动画效果。在滚动的时候添加过渡动画能给我们的软件增色不少,例如Offic...
    99+
    2024-04-02
  • Linux系统中怎么手动释放内存
    这篇文章主要讲解了“Linux系统中怎么手动释放内存”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统中怎么手动释放内存”吧!先使用sync命令以确保文件系统的完整性,sync 命...
    99+
    2023-06-28
  • Linux系统中如何手动创建用户
    这篇文章给大家分享的是有关Linux系统中如何手动创建用户的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在Linux系统中创建用户方法非常简单,只需要使用useradd命令即可实现,但是大家知道如何手动创建一个新...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作