您的位置:首页 > 其它

rsyslog、logrotate切割保存日志日期不准确的问题

2017-06-22 09:06 337 查看
相信用过rsyslogd  logrotate转存切割日志的同学,都会发现日志转存后的文件,会出现日期不准确的问题

例如:6月21号生成的日志,无缘无故转存到了6月22号的文件里,日期提前了一天。

又或者就算21号的日志转存到了21号的文件里,当你打开却发现里面的内容有20号。

经过几天的验证,终于发现有一种方法,几乎做到了安全按照每天来清晰的分隔日志。就在上篇文章中大致介绍了做法,在这详细说一下:

操作的配置文件:/etc/anacrontab

内容配置如下:

# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=9 (这里是个最大随机延时时间)

# the jobs will be started during the following hours only
START_HOURS_RANGE=23-24           (这是日志切割时间点,即只在23点到24点开始切割,不出意外就是23点啦)

#period in days   delay in minutes   job-identifier   command

1 50 cron.daily
nice run-parts /etc/cron.daily(这里设置一下延时时间,这里的作用本来是为了避免同时发生多个任务造成负载过重)

7 25 cron.weeklynice run-parts /etc/cron.weekly

@monthly 45 cron.monthlynice run-parts /etc/cron.monthly

这样设置的效果就是 日志会在每天的23:59 进行切割转存,当然要满足转存的条件,这样一整天(从上一天的23:59到今天的23:59)的日志就会保存在一个日志文件了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: