syslog-ng 在轮换后留下空日志文件

syslog-ng 在轮换后留下空日志文件

首先我要说的是,我是 syslog-ng 和 logrotation 的新手,正在家里学习。

我有从路由器发送到系统日志服务器的日志文件,并且记录没有问题,并且会旋转、压缩并将它们移动到不同的目录。

轮换后,它会为新的一天创建新的日志文件,压缩旧文件并移动它,但它会留下昨天的日志文件的副本为空白。我的存档目录中也会有日志的压缩版本。结果我得到了以下内容:

-rw-r--r-- 1 root adm     0 Jul 18 00:00 router.2019.07.17.log
-rw-r--r-- 1 root adm   50M Jul 18 06:52 router.2019.07.18.log

syslog-ng 文件

/var/log/router/router*.log
{
        rotate 2
        daily
        compress
        missingok
        notifempty
        postrotate
                invoke-rc.d syslog-ng reload > /dev/null
        endscript
}

我确实有一个 cron 作业,可以强制运行所有这些并移动文件,但我不怀疑这是问题所在。以下是我的 syslog-ng.conf 文件中与我的路由器相关的部分的副本:

# router ###########
# Add Filter to add our router
filter f_router { host( "192.168.X.X" ); };
# Add destination file where logs will be stored
#destination df_router { file("/home/pi/files/router.log"); };
log { source ( s_net ); filter( f_router ); destination ( df_router ); };
destination df_router {
file("/var/log/router/router.${YEAR}.${MONTH}.${DAY}.log"
template-escape(no));
};

相关内容