linux项目日志分割配置

logrotate 程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。我们可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行。

linux已经默认安装有logrotate包

1./etc/logrotate.conf  #主配置文件

#配置参数

daily 指定转储周期为每天
weekly 指定转储周期为每周
monthly 指定转储周期为每月
rotate 转储次数,超过将会删除最老的那一个
missingok 忽略错误,如“日志文件无法找到”的错误提示
dateext 切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期
compress 通过gzip 压缩转储旧的日志
delaycompress 当前转储的日志文件到下一次转储时才压缩
notifempty 如果日志文件为空,不执行切割
sharedscripts 只为整个日志组运行一次的脚本
prerotate/endscript 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行
postrotate/endscript 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行
size  size当日志文件到达指定的大小时才转储,Size 可以指定 bytes (缺省)以及KB (sizek)或者MB (sizem).

2.对zabbix-agent日志进行配置,创建zabbix-agent文件即可

 cat /etc/logrotate.d/zabbix-agent

/var/log/zabbix/zabbix_agentd.log {
weekly
rotate 12
compress
delaycompress
missingok
notifempty
create 0664 zabbix zabbix
}

cd /var/log/zabbix/ && ls -lh   #查看切分后的日志

-rw-rw-r-- 1 zabbix zabbix 75M Aug 19 03:32 zabbix_agentd.log-20180812.gz
-rw-rw-r-- 1 zabbix zabbix 76M Aug 26 03:37 zabbix_agentd.log-20180819.gz
-rw-rw-r-- 1 zabbix zabbix 76M Sep 2 03:13 zabbix_agentd.log-20180826.gz
-rw-rw-r-- 1 zabbix zabbix 76M Sep 9 03:37 zabbix_agentd.log-20180902.gz
-rw-rw-r-- 1 zabbix zabbix 76M Sep 16 03:49 zabbix_agentd.log-20180909.gz
-rw-rw-r-- 1 zabbix zabbix 76M Sep 23 03:34 zabbix_agentd.log-20180916.gz
-rw-rw-r-- 1 zabbix zabbix 605M Sep 19 23:01 zabbix_agentd.log-20180923

3.系统每天运行logrotate来执行,系统已经默认创建

cat /etc/cron.daily/logrotate

#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

 

logrotate可以在任何时候从命令行手动调用

logrotate /etc/logrotate.conf

其中  配置文件实际生产中是这样配置的

1. vi /etc/logrotate.conf

# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
dateext

# uncomment this if you want your log files compressed
#compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
        minsize 1M
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0600 root utmp
    rotate 1
}

# system-specific logs may be also be configured here.

 

2.cd /etc/logrotate.d

这个是扩展配置文件,目录结构为

里面都是关于定时任务的配置,其中 vi 下项目目录的配置如下,具体的意义文章上面有

/mnt/data/jyxq/jenkins/java/*/nohup.out {
daily
rotate 30
compress
delaycompress
dateext
missingok
ifempty
copytruncate
create 0664 root root
}

配置好之后,定时任务会自动分割日志并且进行打包处理.,具体操作根据你的配置不同而不同

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刹那的娜娜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值