[Debian][Syslog] 1 log-file niet rotaten/data eruit filteren

Pagina: 1
Acties:

  • Fl4sh3r
  • Registratie: Juni 2002
  • Laatst online: 02-10-2023
De topic titel is niet echt duidelijk, dus even wat uitleg.

Ik heb een Cisco Callmanager draaien die wat output geeft naar mijn "syslogd -r" op een Linux Debian systeem. De informatie van die Callmanager komt in een aparte file (/var/log/cisco).

Nu wil ik graag wat informatie uit die logfile in een andere file zetten, zonder duplicates.

Het probleem waar ik op stuit is dat de syslog logfiles worden geroteerd, opzich heel fijn, maar niet voor die ene file.

Logrotate haalt informatie uit de /etc/syslog.conf om te bepalen welke files gerotate moeten worden, in de man-pages van syslog.conf(5) kan ik niets vinden over het uitsluiten van een bepaalde logfile van rotaten.

Als ik met een cronjob informatie uit de cisco logfile haal heb ik de kan dat ik net een stukje mis.

Dit lijkt me een vaker voorkomend probleem, maar met Google is het me niet gelukt een oplossing te vinden. Misschien wat Linux kenners hier die me opweg kunnen helpen?

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 01:56
logrotate doet gewoon alle files in /var/log AFAIK, zo staat dat in /etc/logrotate.conf en /etc/logrotate.d.
Ik weet dat er voor apache een extra logrotate config bestaat omdat ie anders niet meegenomen wordt. Misschien een idee om gewoon te loggen naar /var/log/cisco/logfile oid? logrotate blijft gewoon van de subdirs af.

  • Fl4sh3r
  • Registratie: Juni 2002
  • Laatst online: 02-10-2023
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# cat /etc/cron.weekly/sysklogd
#! /bin/sh

test -x /usr/sbin/syslogd-listfiles || exit 0
test -x /sbin/syslogd || exit 0
test -f /usr/share/sysklogd/dummy || exit 0

set -e

cd /var/log
for LOG in `syslogd-listfiles --weekly`
do
   if [ -s $LOG ]; then
      savelog -g adm -m 640 -u root -c 4 $LOG >/dev/null
   fi
done

# Restart syslogd
#
/etc/init.d/sysklogd reload-or-restart > /dev/null
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# /usr/sbin/syslogd-listfiles --weekly
/var/log/mail.warn
/var/log/uucp.log
/var/log/user.log
/var/log/daemon.log
/var/log/messages
/var/log/cisco
/var/log/debug
/var/log/auth.log
/var/log/mail.err
/var/log/mail.log
/var/log/kern.log
/var/log/lpr.log
/var/log/mail.info


Dat haalt ie uit mn /etc/syslog.conf

Ik kan natuurlijk die /etc/cron.weekly/sysklogd gaan aanpassen, maar ik ben bang dat die weer wordt vervangen bij een apt-get update.

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

die `syslogd-listfiles --weekly` geeft toch ook geen directories weer? Wellicht is een aparte directory 'cisco' dan wel de meest eenvoudige oplossing :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Fl4sh3r
  • Registratie: Juni 2002
  • Laatst online: 02-10-2023
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/var/log/cisco veranderd in /var/log/cisco/cisco in /etc/syslog.conf

bleq:/home/chris# syslogd-listfiles --weekly
/var/log/mail.warn
/var/log/uucp.log
/var/log/user.log
/var/log/daemon.log
/var/log/messages
/var/log/cisco/cisco    <<<<<
/var/log/debug
/var/log/auth.log
/var/log/mail.err
/var/log/mail.log
/var/log/kern.log
/var/log/lpr.log
/var/log/mail.info

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Hmm; volgens de configfile gebruikt syslogd-listfiles gewoon syslog.conf om uit te vinden welke logfiles er zijn; vandaar dat de wijziging niet het gewenste effect had. Ik kan echter niet zo snel iets bedenken om dit op te lossen? Waarschijnlijk zul je dit toch direct in het script moeten aanpassen; en kun je dit niet configureren :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate

Pagina: 1