summaryrefslogtreecommitdiffstats
path: root/debianpkg/frr.logrotate
diff options
context:
space:
mode:
Diffstat (limited to 'debianpkg/frr.logrotate')
-rw-r--r--debianpkg/frr.logrotate27
1 files changed, 27 insertions, 0 deletions
diff --git a/debianpkg/frr.logrotate b/debianpkg/frr.logrotate
new file mode 100644
index 000000000..2b4acd89c
--- /dev/null
+++ b/debianpkg/frr.logrotate
@@ -0,0 +1,27 @@
+/var/log/frr/*.log {
+ size 500k
+ sharedscripts
+ missingok
+ compress
+ rotate 14
+ create 640 frr frrvty
+
+ postrotate
+ pid=$(lsof -t -a -c /syslog/ /var/log/frr/* 2>/dev/null)
+ if [ -n "$pid" ]
+ then # using syslog
+ kill -HUP $pid
+ fi
+ # in case using file logging; if switching back and forth
+ # between file and syslog, rsyslogd might still have file
+ # open, as well as the daemons, so always signal the daemons.
+ # It's safe, a NOP if (only) syslog is being used.
+ for i in babeld bgpd eigrpd isisd ldpd nhrpd ospf6d ospfd \
+ pimd ripd ripngd zebra ; do
+ if [ -e /var/run/frr/$i.pid ] ; then
+ pids="$pids $(cat /var/run/frr/$i.pid)"
+ fi
+ done
+ [ -n "$pids" ] && kill -USR1 $pids || true
+ endscript
+}