配置完后,logrotate的运作完全自动化,它会结合crontab来每天执行一次,不必进行任何进一步的人为干预 $ cat /etc/cron.daily/logrotate #! || exit 0 /usr/sbin/logrotate /etc/logrotate.conf 使用介绍 logrotate在系统中一般是默认就有安装的,默认配置文件: /etc/logrotate.conf /logrotate PATH=/sbin:/usr/sbin:/bin:/usr/bin 00 00 * * * /usr/sbin/logrotate -f /etc/logrotate.d/nginx >/dev/null 2>&1 00 00 * * * /usr/sbin/logrotate -f /etc/logrotate.d/tomcat >/dev/null 2>&1 00 00 * * * /usr/sbin/logrotate -f /etc/logrotate.d/tcpdump >/dev/null 2>&1 重启下crontab即可,这样可以分别对不同的日志做不同的管理策略。
环境: Ubuntu18.04 logrotate: linux上的日志工作, 可进行阶段/轮询/压缩/删除的动作 安装 apt -y install logrotate #在Ubuntu18.04 中是默认预装软件, 安装nginx后, /etc/logrotate.d/目录下会自动创建nginx的日志轮转配置文件 配置文件 与大多数linux中软件相同, 主配置文件为/etc/logrotate.conf 个性化配置文件放在/etc/logrotate.d/目录下, 使用include导入 vim /etc/logrotate.conf see "man logrotate" for details #compress # 压缩轮转的日志文件 packages drop log rotation information into this directory include /etc/logrotate.d
软件包信息说明 [root@clsn6 ~]# rpm -ql logrotate /etc/cron.daily/logrotate /etc/logrotate.conf # 主配置文件 / etc/logrotate.d # 配置目录 logrotate的配置文件是/etc/logrotate.conf,通常不需要对它进行修改。 以上信息来源 "man logrotate" 3.3手动运行logrotate logrotate可以在任何时候从命令行手动调用。 要调用为/etc/lograte.d/下配置的所有日志调用logrotate: [root@clsn6 ~]# logrotate /etc/logrotate.conf 要为某个特定的配置调用logrotate 3.4Logrotate的记录日志 logrotate自身的日志通常存放于/var/lib/logrotate/status目录。
logrotate是一个用于管理日志文件的工具,主要用于对日志文件进行轮转、压缩和删除等操作,以防止日志文件无限增长占用过多磁盘空间。 删除旧日志: 根据设定的保留策略,logrotate可以自动删除过旧的日志文件,以防止磁盘空间被过多的历史日志占用。 二、配置方式 配置文件: logrotate通常通过一个主配置文件(通常是/etc/logrotate.conf)和多个位于/etc/logrotate.d/目录下的特定应用程序的配置文件进行配置。 总结 1.其实很多系统日志,默认都是使用的logrotate进行切割,包括我们前面讲的Linux日志中的部分日志。 2.很多程序安装完成以后,也会自动配置logrotate进行切割,比如我们常见的ntp软件chrony,数据库mysql等。
logrotate 程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,称为日志转储或滚动。 可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过cron 程序来执行 配置文件是/etc/logrotate.conf``/etc/logrotate.d/* 计划任务配置文件/ etc/cron.daily/logrotate 主要参数如下 compress # 通过gzip 压缩转储以后的日志 nocompress # 不需要压缩时,用这个参数 copytruncate
image 主流Linux发行版上都默认安装有logrotate包,如果出于某种原因,logrotate没有出现在里头,你可以使用apt-get或yum命令来安装。 crontabs logrotate的配置文件是/etc/logrotate.conf,通常不需要对它进行修改。 排障 这里提供了一些logrotate设置的排障提示。 1. 手动运行logrotate logrotate可以在任何时候从命令行手动调用。 Logrotate的记录日志 logrotate自身的日志通常存放于/var/lib/logrotate/status目录。 /usr/sbin/logrotate /etc/logrotate.conf 小结一下,logrotate工具对于防止因庞大的日志文件而耗尽存储空间是十分有用的。
logrotate介绍 在linux系统中,其实已经自带了日志轮替的软件,那就是logrotate,而系统的日志文件都是使用这个进行轮替,从而在/var/log中,有各种带有后缀的日志文件。 而这个实现的软件就是logrotate,主要是用来进行日志的归档工具之一。 ? 其实这也就是logrotate中的create方式。
gluster 3.4.5 logrotate默认配置如下: [root@lab25 logrotate.d]# cat glusterd /var/log/glusterfs/*glusterd.vol.log bin/kill -HUP `cat /var/run/glusterd.pid 2>/dev/null` 2>/dev/null || true endscript } [root@lab25 logrotate.d kill -HUP `cat /var/run/glusterfsd.pid 2>/dev/null` 2>/dev/null || true endscript } [root@lab25 logrotate.d 默认配置存在的问题,以CentOS 6.5默认配置进行说明: 1、默认情况下,logrotate.conf每周执行一次,保留4个副本,最多纪录5周的日志,太少。 为解决上述问题,修改后的配置文件如下: [root@lab25 logrotate.d]# cat glusterd /var/log/glusterfs/*glusterd.vol.log {
系统一般每天会定时运行logrotate一次,crontab 会每天定时运行 /etc/cron.daily 目录下的脚本,有个脚本叫 logrotate /usr/bin/logrotate # logrotate 目录 /etc/cron.daily/logrotate /etc/logrotate.conf # 全局配置文件 /etc/logrotate.d ---- 安装 yum install logrotate ---- 配置(示例每天定时切割 tomcat 日志) vim /etc/logrotate.d/tomcat /data/tomcat/logs/catalina.out delaycompress 选项,转储同时压缩 errors address # 转储时的错误信息发送到指定的Email 地址 ifempty # 即使是空文件也转储,这个是 logrotate -d /etc/logrotate.d/tomcat # 调试-d logrotate -v -f /etc/logrotate.d/tomcat # 强制执行-f
Logrotate能够根据日志文件的修改时间、大小等条件,对日志文件进行轮转、压缩或删除操作。通过使用Logrotate工具,您可以轻松地管理日志文件,确保系统的正常运行和安全性。 二、Logrotate 安装 在大多数CentOS系统中,Logrotate已经默认安装。 如果没有安装,您可以使用以下命令进行安装: yum install -y logrotate 三、Logrotate 配置Nginx 日志切割 要使用Logrotate对Nginx日志进行切割,您可以按照以下步骤进行配置 四、Logrotate 其他 如果您想查看logrotate执行的时间,可以查看/etc/anacrontab文件。 如果您想查看logrotate执行的状态,可以查看/var/lib/logrotate/logrotate.status文件。
一、摘要 Linux服务器上我们用Logrotate来分割归档日志文件,结合crond我们可以指定每天在某个时间自动整理日志等文档。本文主要说明了Centos下Logrotate的使用和配置的方法。 配置文件 Logrotate的配置文件位于 /etc/logrotate.conf。 Logrotate的子配置文件位于文件夹 /etc/logrotate.d/ 下,某些软件,入nginx,会在rpm命令安装后会把对应的nginx日志分割文件释放在此,用于定时整理日志文件。 如果想测试配置文件 # 测试所有logrotate配置 /usr/sbin/logrotate -d -v /etc/logrotate.conf # 强制执行日志滚动操作,比如nginx /usr /sbin/logrotate -d -v /etc/logrotate.d/nginx 二、实际操作 单文件 确保openresty已经安装好了,默认的日志文件是 /usr/local/openresty
Logrotate的介绍 显而易见,Logrotate是基于CRON来运行的,其脚本是「/etc/cron.daily/logrotate」: #! /bin/sh /usr/sbin/logrotate /etc/logrotate.conf EXITVALUE=$? if [ $EXITVALUE ! ,Logrotate会调用配置文件「/etc/logrotate.conf」: # see "man logrotate" for details # rotate log files weekly weekly 这里的设置可以理解为Logrotate的缺省值,当然了,可以我们在「/etc/logrotate.d」目录里放置自己的配置文件,用来覆盖Logrotate的缺省值。 -f /etc/logrotate.d/nginx 当然,正式执行前最好通过Debug选项来验证一下,这对调试也很重要: shell> logrotate -d -f /etc/logrotate.d
logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件。 ) yum install logrotate crontabs 配置文件目录 /etc/logrotate.d #所有需要此功能的配置文件存放目录 [root@centos logrotate.d 运行流程 1、系统的定时任务来运行/etc/cron.daily/logrotate [root@ ~]# cat /etc/cron.daily/logrotate #! /bin/sh /usr/sbin/logrotate /etc/logrotate.conf EXITVALUE=$? if [ $EXITVALUE ! 每天通过执行/usr/sbin/logrotate命令调用/etc/logrotate.conf这个配置文件 [root@resources ~]# cat /etc/logrotate.conf #
/bin/sh /usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf EXITVALUE=$? /etc/logrotate.conf 为配置文件执行了 logrotate。 它们安装后,会在 /etc/logrotate.d 这个目录下增加自己的 logrotate 的配置文件。logrotate 什么时候执行 /etc/logrotate.d 下的配置呢? include /etc/logrotate.d logrotate 原理 logrotate 是怎么做到滚动日志时不影响程序正常的日志输出呢?logrotate 提供了两种解决方案。 配置 logrotate ---- 执行文件:/usr/sbin/logrotate 主配置文件: /etc/logrotate.conf 自定义配置文件: /etc/logrotate.d/*.conf
运行机制 logrotate在很多Linux发行版上都是默认安装的。系统会定时运行logrotate,一般是每天一次。系统是这么实现按天执行的。 /etc/logrotate.conf为配置文件执行了logrotate。 执行logrotate命令最好加-f参数,不然有时候配置文件修改的内容不生效。 很多程序的会用到logrotate滚动日志,比如nginx。 它们安装后,会在/etc/logrotate.d这个目录下增加自己的logrotate的配置文件。logrotate什么时候执行/etc/logrotate.d下的配置呢? 看到/etc/logrotate.conf里这行,一切就不言而喻了。 include /etc/logrotate.d 原理 logrotate是怎么做到滚动日志时不影响程序正常的日志输出呢?
这种情况下,logrotate 这个程序很好的完成这个任务。logrotate 用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。 logrotate 的配置文件是 /etc/logrotate.conf。 归档的配置文件为: /etc/logrotate.d/nginx可以直接编辑这个文件。 归档测试配置文件完成修改后,可以对配置进行测试:运行命令:logrotate /etc/logrotate.d/nginx --debug服务器上输出的内容为:root@ns564012:/etc/logrotate.d # logrotate /etc/logrotate.d/nginx --debugwarning: logrotate in debug mode does nothing except printing
例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月的日志。配置完后,logrotate的运作完全自动化,不必进行任何进一步的人为干预。 安装logrotate 在Debian或Ubuntu上: # apt-get install logrotate cron 在Fedora,CentOS或RHEL上: # yum install logrotate crontabs logrotate的配置文件是/etc/logrotate.conf,通常不需要对它进行修改。 logrotate可以在任何时候从命令行手动调用。 要调用为/etc/lograte.d/下配置的所有日志调用logrotate: [root@boysec.cn ~]$ logrotate /etc/logrotate.conf 要为某个特定的配置调用
logrotate机制&原理 centos系统中默认安装logrotate,logrotate主配置文件:/etc/logrotate.conf,其中定义了系统默认的logrotate规则,当系统中安装了 /bin/sh /usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf EXITVALUE=$? -f /etc/logrotate.conf 春雨logrotate 关于logrotate的cron计划在/etc/cron.daily/logrotate,与cron配合使用,春雨弃用系统自带的cron /bin/sh /usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf EXITVALUE=$? 配置的规则,根据“include /etc/logrotate.d”参数执行/etc/logrotate.d/下的logrotate配置文件,系统日志相关的是syslog: /var/log/cron
2. logrotate工具 logrotate是linux自带的日志清理工具,linux系统日志的定期清理就是依赖logrotate完成。 2.1 logrotate快速配置 linux使用的logrotate配置存放于/etc/logrotate.conf,其他额外的配置存放于/etc/logrotate.d,可以参考里面的配置文件创建新的清理任务 例如通过yum安装nginx,会生成nginx相关logrotate配置 [root@zero_machine /etc/logrotate.d]# cat /etc/logrotate.d/nginx crontab任务频率 logrotate配置文件的timeperiod logrotate配置文件的minsize/maxsize(size不能和timeperiod同时生效,这时size优先) logrotate 每次触发logrotate时,程序检查logrotate.status,判断是否进行rotate。
我们可以使用"logrotate"来管理Linux日志文件,它可以实现日志的自动滚动,日志归档等功能。下面以Nginx日志文件来讲解下logrotate的用法。 配置: 1、在/etc/logrotate.d目录下创建一个nginx的配置文件"nginx"配置内容如下 #vim /etc/logrotate.d/nginx /usr/local/nginx/logs 2、执行logrotate #/usr/sbin/logrotate -f /etc/logrotate.d/nginx 在/usr/local/nginx/logs目录中会产生 error.log error.log .1 说明logrotate配置成功。 #crontab -e 59 23 * * * /usr/sbin/logrotate -f /etc/logrotate.d/nginx 每天23点59分进行日志滚动 4、配置文件说明 daily: