logrotate日志切割、轮询、删除

1、创建轮询日志文件,加入如下内容,log-file是我自已指定的文件日志名字

[[email protected] mnt]# cat /etc/logrotate.d/log-file

/mnt/log-file {

size=100M

rotate 5

compress

dateext

dateformat %Y-%m-%d-%s

delaycompress

notifempty

missingok

create 644 root root

postrotate

/usr/bin/killall -HUP rsyslogd

endscript

}

这里:

  • monthly: 日志文件将按月轮循。其它可用值为‘daily’,‘weekly’或者‘yearly’。
  • size: 日志文件大小,容量等到了设置范围的大小,就会自行切割
  • rotate 5: 一次将存储5个归档日志。对于第六个归档,时间最久的归档将被删除。
  • compress: 在轮循任务完成后,已轮循的归档将使用gzip进行压缩。
  • delaycompress: 总是与compress选项一起用,delaycompress选项指示logrotate不要将最近的归档压缩,压缩将在下一次轮循周期进行。这在你或任何软件仍然需要读取最新归档时很有用。
  • missingok: 在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。
  • notifempty: 如果日志文件为空,轮循不会进行。
  • create 644 root root: 以指定的权限创建全新的日志文件,同时logrotate也会重命名原始日志文件。
  • postrotate/endscript: 在所有其它指令完成后,postrotate和endscript里面指定的命令将被执行。在这种情况下,rsyslogd 进程将立即再次读取其配置并继续运行。

2、生成日志文件并测试

[[email protected] ~]# cd /mnt

[[email protected] mnt]# dd if=/dev/zero of=/mnt/log-file bs=100M count=1

记录了1+0 的读入

记录了1+0 的写出

104857600字节(105 MB)已复制,0.103621 秒,1.0 GB/秒

[[email protected] mnt]# logrotate /etc/logrotate.d/log-file

[[email protected] mnt]# ls

log-file  log-file2015-11-30-1448828422

[[email protected] mnt]# dd if=/dev/zero of=/mnt/log-file bs=100M count=1

记录了1+0 的读入

记录了1+0 的写出

104857600字节(105 MB)已复制,0.0940398 秒,1.1 GB/秒

[[email protected] mnt]# logrotate /etc/logrotate.d/log-file

[[email protected] mnt]# ls

log-file                          log-file2015-11-30-1448828442

log-file2015-11-30-1448828422.gz

[[email protected] mnt]# dd if=/dev/zero of=/mnt/log-file bs=100M count=1

记录了1+0 的读入

记录了1+0 的写出

104857600字节(105 MB)已复制,0.0861139 秒,1.2 GB/秒

[[email protected] mnt]# logrotate /etc/logrotate.d/log-file

[[email protected] mnt]# ls

log-file                          log-file2015-11-30-1448828442.gz

log-file2015-11-30-1448828422.gz  log-file2015-11-30-1448828473

[[email protected] mnt]# crontab -l

*/1 * * * * /usr/sbin/logrotate  /etc/logrotate.d/log-file

希望一起交流技术的可以通过以下方式联系我

我的运维群517751492

我的QQ1934844044

时间: 2024-10-12 07:01:48

logrotate日志切割、轮询、删除的相关文章

Linux自带 Logrotate 日志切割工具配置详解

Logrotate 程序是一个日志文件管理工具.用于分割日志文件,压缩转存.删除旧的日志文件,并创建新的日志文件,下面就对logrotate日志轮转的记录: 1.1 Logrotate配置文件介绍 Linux系统默认安装logrotate,默认的配置文件: /etc/logrotate.conf /etc/logrotate.d/ logrotate.conf:为主配置文件logrotate.d:为配置相关子系统,用于隔离每个应用配置(Nginx.PHP.Tomcat...)  Logrotat

tomcat日志切割和定期删除

在tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话).特别是在日志文件增长速度很快的一些情况下,按日志切割日志文件并删除,就是一件很有必要的工作了,以下介绍了切割日志文件的方法. 第1章 系统环境 1.1 操作系统环境 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [[email protected] ~]# uname -r 2.6.32-431.el6.x

Syslog-ng+Rsyslog收集日志:logrotate日志切割、轮询(七)

很多软件都自带切割日志,比如tomcat可以按时间来命名.rsyslog可按日期生成文件,但是并不支持用"%$year%-%$month%-%$day%"这些变量来读取文件(目前版本号:rsyslog-8.17.0-1.el6.x86_64). 那么,就要用到日志轮询logrotate. 概要,配置. 全局配置:/etc/logrotate.conf 局部配置:/etc/logrotate.d/ 为了便于管理,自定义的配置都放到/etc/logrotate.d/里 使用. 创建文件to

linux 日志定时轮询流程详解(logrotate)

logrotate介绍 对于Linux系统安全来说,日志文件是极其重要的工具.日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.当日志文件不断增长的时候,就需要定时切割,否则,写日志的速度和性能也会下降,更不便于我们归档,查询. 所以便有了使用logrotate的时候 ,logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循).压缩以及删除旧的日志文件.例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除

logrotate日志切割配置

1 logrotate介绍 logrotate软件是一个日志管理工具,用于非分隔日志,删除旧的日志文件,并创建新的日志文件,起到"转储作用",可以为系统节省磁盘空间.一般centos系统已经自带安装好了. logrotate是基于crontab运行的,其脚本是/etc/cron.daily/logtotate,日志轮转是系统自发完成的,实际运行时,logrotate会调用配置文件/etc/logrotate.conf.可以在/etc/logrotate.d目录里放置自定义好的配置文件,

logrotate日志切割

最近在搭建日志收集平台,将linux的部分日志收集到elasticsearch上通过kibana进行搜索展现,基本上是标准的ELK架构,但是agent端复用了已有的flume.在功能测试的时候,是将本地messages日志备份出来对备份的日志进行了切割测试.经过一周测试终于完成了,当时的内心是: 日志的切割,采用了linux自带的logrotate进行日志的切割.配置就不放了,主要就是去切割指定的文件,然后将切割的文件转移到agent收集工具监控的目录,然后将文件权限改一下就行.当功能性测试通过

rsyslog 结合logrotate日志切割处理

需求 公司日志系统收集规范为: /var/log/业务名/业务名+域名.log(不带日期) /var/log/业务名/业务名+域名-2017-04-25.log(为前一天的日期.业务不做压缩,由运维统一处理) /var/log/业务名 目录的权限为特定用户(系统中的uid.gid固定) 现状 harbor业务由docker容器启用logrotate来收集日志,日志生成规则为/var/log/日期/业务名.log 需要改造容器的logrotate配置实现要求,初期设想是通过logrotate直接实

logrotate日志切割如何才能优雅

logrotate

logrotate+crond日志切割、轮询

logrotate 在工作中经常会有需求去查看日志,无论是通过应用或者系统error日志去查找问题或者通过nginx的访问日志统计站点日均PV.UV.所以体现了日志的重要性,但是通常当业务越来越大的时候各项目产生的日志将会是个很大的数字,优势我们会需要查找往期的日志,这时候就需要对日志进行合理的备份保留.随着时间的 累计,一个日志文件将会变得很大,我们通过命令去查找需要的日志段的时候就会显得非常困难,所以我们需要读各类日志进行切割轮询处理. logrotate是系统自带的日志切割工具,它配合cr