Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [DE] [gelöst] logrotate Fehler  (Read 4777 times)

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
[DE] [gelöst] logrotate Fehler
« on: 2010/12/23, 17:38:48 »
Hi zusammen,
ich habe z.Zt. einen Error beim Ausführen von logrotate via crontab.
Code: [Select]

20 17 * * * /usr/sbin/logrotate /etc/logrotate.conf -v


Auszug aus der Mail an root
Code: [Select]

Cron <root@redfox> /usr/sbin/logrotate /etc/logrotate.conf -v (failed)
[...]
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 '-20101223'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
compressing log with: /bin/gzip
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),
old log /var/log/syslog.0.gz does not exist
renaming /var/log/syslog to /var/log/syslog.1
creating new /var/log/syslog mode = 0640 uid = 0 gid = 4
running postrotate script
logrotate_script: 2: invoke-rc.d: not found
error: error running non-shared postrotate script for /var/log/syslog of '/var/log/syslog
'
[...]


/var/log/syslog wird von /etc/logrotate.d/rsyslog rotiert.
Code: [Select]

/var/log/syslog
{
        rotate 7
        daily
        missingok
        notifempty
        delaycompress
        compress
        postrotate
                invoke-rc.d rsyslog reload > /dev/null
        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
                invoke-rc.d rsyslog reload > /dev/null
        endscript
}


Irgendwie stehe ich gerade auf dem Schlauch und finde den Fehler nicht :-(

Offline ralul

  • User
  • Posts: 1.814
logrotate Fehler
« Reply #1 on: 2010/12/23, 21:52:57 »
Einfach mal lesen:
"logrotate_script: 2: invoke-rc.d: not found "

Zwei tests:
Code: [Select]
# which invoke-rc.d

/usr/sbin/invoke-rc.d

# env | grep sbin

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:


Normal ist sbin nur im PATH von user root. Aber einige Distros haben das geändert. Die Programme in sbin sind zwar nur für root sinnvoll, aber es gibt auch bei einigen "nur lesen" Optionen, die man auch als normaler User sinnvoll zur Info anwenden kann. "sudo" muss zB speziell konfiguriert werden, damit es sbin im PATH hat - root environment...
experiencing siduction runs better than my gentoo makes me know I know nothing

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
logrotate Fehler
« Reply #2 on: 2010/12/24, 12:14:52 »
Hi ralul,
das mit invoke-rc.d war natürlich auch mein erster Gedanke, aber das ist es nicht.
Code: [Select]

# which invoke-rc.d
/usr/sbin/invoke-rc.d

Ich hab's mittlerweile auch gefunden woran's liegt. rsyslog wird nicht gefunden. Wie auch das liegt unter /etc/init.d und das ich nicht im root Suchpfad.

Also die Zeile abgeändert im entsprechenden logrotate Script /etc/logrotate.d/rsyslog und schon klappt es. Der Fehler bezieht sich nicht auf invoke-rc.d, sondern auf rsyslog, aber darauf muss man erst mal kommen ;-)
Code: [Select]

[...]
postrotate
invoke-rc.d /etc/init.d/rsyslog reload > /dev/null
endscript
[...]


Trotzdem, Danke für deinen Hinweis.