centos logrotate 日志轮转分割

这篇具有很好参考价值的文章主要介绍了centos logrotate 日志轮转分割。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


1、logrotate 原理

logrotate也就是日志滚动,服务器日志文件大小增长较快,不断消耗磁盘空间就会触发告警,需要人为定期按照各种维度去手动清理日志就显得十分棘手。为了节省空间和方便整理,可以将日志文件按时间或大小分成多份,删除时间久远的日志文件,这就是通常说的日志滚动。

logrotate 是一个 linux 系统日志的管理工具。可以对单个日志文件或者某个目录下的文件按时间、大小进行切割、压缩操作;指定日志保存数量;还可以在切割之后运行自定义命令。

logrotate 是基于 crontab 运行的,所以这个时间点是由 crontab 控制的,具体可以查询 crontab 的配置文件 /etc/crontab或者 /etc/anacrontab。 系统会按照计划的频率运行 logrotate,通常是每天。在大多数的 Linux 发行版本上,计划每天运行的脚本位于 /etc/cron.daily/logrotate


2、logrotate 默认配置

默认配置文件

/etc/logrotate.conf

默认配置目录,此目录下是系统软件的一些日志滚动配置

/etc/logrotate.d/*.conf

logrotate.conf 通过 include 指令,引入 logrotate.d 目录下的自定义的配置文件


可执行文件
/usr/sbin/logrotate

3、logrotate 参数

参数 描述
daily、
weekly、
monthly、
yearly
daily :每天
weekly : 每周
monthly : 每月
yearly: 每年
size 当日志文件到达指定的大小时才转储,单位默认是 bytes。其他单位:bytes 、 KB 、 MB
rotate 日志文件保留备份的个数
maxage 保留多少天的日志文件
tabooext 不转储指定扩展名的文件
missingok 日志轮转期间,忽略错误
copytruncate、
nocopytruncate
copytruncate: 用于进行中的日志文件,把当前日志备份并截断。执行的操作是先复制再清空
nocopytruncate: 备份日志文件,但是不截断
create mode owner group、
nocreate
create mode owner group:转储文件,使用指定的文件模式创建新的日志文件。如: create 644 root root
以指定的权限创建全新的日志文件,同时 logrotate 也会重命名原始日志文件。
nocreate: 不建立新的日志文件
nocompress、
compress
nocompress: 不压缩
compress: 通过 gzip 压缩转储以后的日志
delaycompress、
nodelaycompress
delaycompress + compress: 转储的日志文件到下一次转储时才压缩
nodelaycompress: 覆盖delaycompress 选项,转储并压缩。
prerotate、
endscript
在所有其它指令完成 执行。这两个关键字必须单独成行,这两个指令必须同时存在。指令相当于开始、结束;中间执行linux命令
sharedscripts 共享脚本,整个日志组运行一次脚本 。
比如 nginx 涉及到多个日志文件,一般使用 * 号 通配符:/var/log/nginx/*.log { ... }
sharedscripts 的作用是在 所有的日志文件 都轮转完毕后 统一执行一次脚本
如果没有 sharedscripts ,那么 每个日志文件 轮转完毕后 都会执行一次脚本
errors address 转储时的错误信息发送到指定的 Email 地址。
mail address
nomail
mail address : 把转储的日志文件发送到指定的 E-mail 地址
nomail : (默认)转储时不发送日志文件
nomail : (默认)转储时不发送日志文件
ifempty
notifempty
ifempty :if empty ,即使是空文件也转储(默认)
notifempty :not if empty ,如果是空文件的话,不转储。
olddir directory
noolddir
olddir directory :储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统。
noolddir : 转储后的日志文件和当前日志文件放在同一个目录下。
dateext 在日志名称后面,添加日期后缀。默认是当前日期。默认是 -%Y%m%d 的后缀。
可用 dateformat 选项扩展配置。
如:nginx_access.log --> nginx_access.log-20210120
注意: 格式化日期中不要出现 分号(:) ,因为文件名称是不能含有分号的。
dateformat dateext 的拓展,必须配合 dateext 使用
在V3.9.0 之前,只支持 %Y%m%d%s 参数。
%s 时间戳
在V3.9.0 及之后,支持 %H 参数。
如: dateformat -%Y-%m-%d
结果:nginx_access.log --> nginx_access.log-2021-01-20
注意: 文件名称中禁止出现分号(:) ,因为文件名称是不能含有分号的。
dateyesterday dateext 配合使用,日期提前一天。
比如,当前日期是2021-01-20,提前一天就是 2021-01-19
extension dateextdateformat 配合使用,指定文件的后缀。
如:extension .log
结果:nginx_access.log --> nginx_access-2021-01-20.log
说明:nginx_access.log , 文件名是nginx_access,后缀是.log, 文件名 + -%Y-%m-%d 格式的日期 + .log 后缀,结果是 nginx_access-2021-01-20.log

4、示例

4.1、创建配置目录
mkdir /home/logrotate
mkdir /home/logrotate/logrotate.d
cd /home/logrotate

4.2、logrotate.conf 配置

创建logrotate.conf文件

vim logrotate.conf

logrotate.conf内容

include /home/logrotate/logrotate.d

4.3、日志分割配置

需要分割日志的服务,把分割日志的配置文件放在一下下目录

cd /home/logrotate/logrotate.d

nginx

dateext
dateformat -%Y-%m-%d

/home/nginx/logs/monitor/*/*.log {
        daily
        missingok
        rotate 7
        compress
        nodelaycompress
        notifempty
        olddir /home/nginx/logs/backup
        copytruncate
        extension.log
        sharedscripts
}

4.4、定时启动

添加定时任务

crontab -e

定时命令,每天0:01执行日志分割

01 0 * * * logrotate -f /home/logrotate/logrotate.conf

重启定时服务文章来源地址https://www.toymoban.com/news/detail-454915.html

systemctl restart crond.service

到了这里,关于centos logrotate 日志轮转分割的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • linux设置日志文件保存时间为6个月(/etc/logrotate.conf)

    linux设置日志文件保存时间为6个月(/etc/logrotate.conf)

    1、编辑/etc/logrotate.conf文件 将全局的weekly下的rotate 4改为rotate 24,表示6个月; 将指定文件的monthly下的rotate 1改为rotate 6,表示6个月。  2、重启日志服务

    2024年02月11日
    浏览(12)
  • Linux之 rsyslog、日志轮转

    Linux之 rsyslog、日志轮转

    Rsyslog的全称是 rocket-fast system for log,它提供了高性能,高安全功能和模块化设计。rsyslog能够接受从各种各样的来源,将其输入,输出的结果到不同的目的地。rsyslog可以提供超过每秒一百万条消息给目标文件。 特点: 多线程 可以通过许多协议进行传输UDP,TCP,SSL,TLS,REL

    2024年02月15日
    浏览(12)
  • slog实战:文件日志、轮转与kafka集成

    slog实战:文件日志、轮转与kafka集成

    《slog正式版来了:Go日志记录新选择! [1] 》一文发布后,收到了很多读者的反馈,意见集中在以下几点: 基于slog如何将日志写入文件 slog是否支持log轮转(rotation),如果slog不支持,是否有好的log轮转插件推荐? 如何与kafka集成 日志输出有哪些最佳实践 这篇文章就是对上述问

    2024年02月09日
    浏览(8)
  • 云计算 3月7号 (crontab-计划任务 日志轮转 免密登录)

    一、计划任务 计划任务概念解析 在Linux操作系统中,除了用户即时执行的命令操作以外,还可以配置在指定的时间、指定的日期执行预先计划好的系统管理任务(如定期备份、定期采集监测数据)。RHEL6系统中默认已安装了at、crontab软件包,通过atd和crond这两个系统服务实现

    2024年03月20日
    浏览(23)
  • Linux:apache优化(7)—— 日志分割|日志合并

    Linux:apache优化(7)—— 日志分割|日志合并

    作用: 随着网站访问量的增加,访问日志中的信息会越来越多, Apache 默认访问日志access_log单个文件会越来越大,日志文件体积越大,信息都在一个文件中,查看及分析信息会及不方便。   实现方式: 1. 利用 apache 自带的日志轮循程序 rotatelogs   2. 利用一个发展已经比较成

    2024年02月03日
    浏览(9)
  • Apache的配置与运用
7 Apache的日志分割

    Apache的配置与运用 7 Apache的日志分割

    虚拟Web主机指的是在同一台服务器中运行多个Web站点,其中每一个站点实际上并不独立占用整个服务器,因此被称为“虚拟”Web 主机。通过虚拟 Web 主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。 使用httpd服务可以非常方便地构建虚拟主机服务

    2023年04月13日
    浏览(9)
  • CHAPTER 1 CentOS的日志系统(日志文件)

    常见的Linux操作系统登录文件有如下几个: centos记录登录系统存取数据的文件; 例如pop3,ssh,telnet,ftp等都会记录在此. 1、每行信息各字段含义: 2、正常通过ssh连接进服务器的日志 3、正常登陆后,退出日志 4、使用root用户登录进系统户,切换到zcy用户,直接从zcy用户关掉连

    2024年02月08日
    浏览(11)
  • Centos 7系统日志

    Centos 7系统日志

    前言        CentOS 7系统生成的日志主要是通过systemd日志守护进程进行处理和记录的。其日志记录的内容包括系统和服务启动和关闭的信息、系统运行过程中产生的错误、警告和通知信息等等。 系统日志通常被记录在/var/log目录下,主要的日志文件有:   1. messages: 系统基本

    2024年02月03日
    浏览(7)
  • centos清理日志和缓存

    今天使用redmine修改密码,修改报错,再去试试创建用户,创建用户的页面直接报错显示不出来。然后看了一下服务器,发现服务器磁盘空间全部占满了。 CentOS系统也会在使用很长一段时间后出现硬盘空间开始不够的情况,而这并不一定是正常使用的文件占用,而是在系统的

    2024年02月07日
    浏览(7)
  • centos7查看日志信息

    1、实时查看日志信息 tail -f hadoop-hadoop-resourcemanager-k8s-master.out 2、显示最后20行 tail -n 20 hadoop-hadoop-resourcemanager-k8s-master.log 3、从第5行开始显示文件 tail -n +5 hadoop-hadoop-resourcemanager-k8s-master.log 1、查询10行之后的所有日志 cat -n +10 hadoop-hadoop-resourcemanager-k8s-master.log 2、查询日志尾部

    2024年02月16日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包