Позвольте мне начать с того, что я новичок в 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));
};