System loggt in *.log.1 Dateien

Fr33z3m4n

New Member
Hi,

habe ein seltsames Phänomen.

Meine logs vom "Ubuntu 10.04.4 LTS" werden seit einiger seit nicht in syslog, mail.log etc. geschrieben, sondern in die eigentlichen rotierten Logs.

Also z.b.:
syslog.1
mail.info.1
mail.warn.1
messages.1
usw.

In die normalen Logs (messages, syslogs) etc. wird nicht mehr geschrieben.
Woran liegt denn sowas ?
 
Nach dem Rotieren muss der Syslogd neu gestartet oder reloaded werden. Das wurde offenbar nicht gemacht - ergo wird in die bestehenden (offenen) Filehandles weitergeschrieben.
 
Bitte die vollständige logrotate.conf posten.
Klingt nach nicht geschlossenen Filehandles auf Grund nicht restarteter Dienste.
 
Danke für den Hinweis.

habe den nun von Hand neugestartet.
Er schreibt dennoch in die .1 Dateien.
Muss ich nun vorher noch etwas umstellen ?
 
logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
missingok
monthly
create 0664 root utmp
rotate 1
}

/var/log/btmp {
missingok
monthly
create 0660 root utmp
rotate 1
}

# system-specific logs may be configured here
/etc/logrotate.de/rsyslog
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}

/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}
 
Habe jetzt mal alle *.1 Dateien in Ihre ursprüngliche Bezeichnung umbenannt. Vorher natürlich syslog gestopped und danach gestartet.

Das Problem wäre nun mal gelöst, nun schreibt er in die richtigen Dateien.
Aber das nächste Problem, er rotiert die loggs nicht :(

logrotate /etc/logrotate.d/rsyslog -d -v
reading config file /etc/logrotate.d/rsyslog
reading config info for /var/log/syslog


Handling 1 logs

rotating pattern: /var/log/syslog
after 1 days (7 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/syslog
log needs rotating
rotating log /var/log/syslog, log->rotateCount is 7
dateext suffix '-20121204'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
previous log /var/log/syslog.1 does not exist
renaming /var/log/syslog.7.gz to /var/log/syslog.8.gz (rotatecount 7, logstart 1, i 7),
renaming /var/log/syslog.6.gz to /var/log/syslog.7.gz (rotatecount 7, logstart 1, i 6),
renaming /var/log/syslog.5.gz to /var/log/syslog.6.gz (rotatecount 7, logstart 1, i 5),
renaming /var/log/syslog.4.gz to /var/log/syslog.5.gz (rotatecount 7, logstart 1, i 4),
renaming /var/log/syslog.3.gz to /var/log/syslog.4.gz (rotatecount 7, logstart 1, i 3),
renaming /var/log/syslog.2.gz to /var/log/syslog.3.gz (rotatecount 7, logstart 1, i 2),
renaming /var/log/syslog.1.gz to /var/log/syslog.2.gz (rotatecount 7, logstart 1, i 1),
renaming /var/log/syslog.0.gz to /var/log/syslog.1.gz (rotatecount 7, logstart 1, i 0),
renaming /var/log/syslog to /var/log/syslog.1
running postrotate script
running script (multiple) with arg /var/log/syslog
: "
reload rsyslog >/dev/null 2>&1 || true
"
removing old log /var/log/syslog.8.gz
error: error opening /var/log/syslog.8.gz: Datei oder Verzeichnis nicht gefunden

Angeblich führt er alles aus, aber die Datei wird nicht rotiert und auch nicht gepackt etc.

// EDIT: Man sollte das man richtig lesen ;) -d ist ja nur zum testen.

Ok, da ich nun logrotate erfolgreich ausführen konnte, bin ich bei meinem hauptproblem wieder angekommen. Er erstellt die syslog.1 Datei und schreibt dort munter weiter rein.
 
Last edited by a moderator:
Wie bereits gesagt: Dein Reload des Syslogd klappt offensichtlich nicht. Restarte ihn mal. Schau Dir die PIDs vorher und nachher an um festzustellen, ob auch tatsächlich ein Restart erfolgte. Eventuell hat sich dein Syslogd ja aufgehängt und reagiert auf keine Signale mehr. Da hilft dann wohl nur ein hartes Killen und neu starten.
 
Jip,

hatte ich in der Zwischenzeit auch gemerkt, dass der Prozess nicht neustarten wollte, ob er mir das immer mitteilte ;D

Wollte den nun nicht einfach killen, nachdem du das aber vorgeschlagen hast, habe ich das mal gemacht und siehe da er kann es auch richtig *g

Danke dafür, nun läuft wieder alles. (3 graue Haare mehr)
 
Back
Top