Siduction Forum
Siduction Forum => Software - Support => Topic started by: bluelupo on 2010/12/23, 17:38:48
-
Hi zusammen,
ich habe z.Zt. einen Error beim Ausführen von logrotate via crontab.
20 17 * * * /usr/sbin/logrotate /etc/logrotate.conf -v
Auszug aus der Mail an root
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.
/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 :-(
-
Einfach mal lesen:
"logrotate_script: 2: invoke-rc.d: not found "
Zwei tests:# 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...
-
Hi ralul,
das mit invoke-rc.d war natürlich auch mein erster Gedanke, aber das ist es nicht.
# 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 ;-)
[...]
postrotate
invoke-rc.d /etc/init.d/rsyslog reload > /dev/null
endscript
[...]
Trotzdem, Danke für deinen Hinweis.