logrotate: invoke-rc.d: not found

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
dominicpratt
Beiträge: 5
Registriert: 26.02.2016 08:12:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Bad Kreuznach
Kontaktdaten:

logrotate: invoke-rc.d: not found

Beitrag von dominicpratt » 09.03.2016 09:04:33

Hi Leute,

ich habe auf einem meiner Jessie-Server das Problem, dass das Logrotate nicht mehr korrekt funktioniert.

Der Fehler, den ich vom Cron erhalte:

Code: Alles auswählen

logrotate_script: 2: logrotate_script: invoke-rc.d: not found
error: error running non-shared postrotate script for /var/log/syslog of '/var/log/syslog
'
Das Logrotate-Script für rsyslog sollte Standard sein:

Code: Alles auswählen

/var/log/syslog
{
	rotate 7
	daily
	missingok
	notifempty
	delaycompress
	compress
	postrotate
		invoke-rc.d rsyslog rotate > /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 rotate > /dev/null
	endscript
}
Habe auch schon versucht, invoke-rc.d mit dem gesamten Pfad (/usr/sbin/invoke-rc.d) anzusprechen: gleicher Fehler. Führe ich "invoke-rc.d rsyslog rotate" manuell aus, funktioniert es.

Hat hier jemand das gleiche Problem und eine Lösung gefunden?

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: logrotate: invoke-rc.d: not found

Beitrag von MSfree » 09.03.2016 09:49:47

Wie läßt du auf deinem Rechner logrotate über cron starten?

Normalerweise wird logrotate über ein Skript in /etc/cron.daily ausgeführt, ein gesonderter Eintrag in die crontab ist also eigentlich nicht nötig.

Davon abgesehen, verwendet Debian 8 systemd statt SysV-Init und das beinhaltet ein eigenes Logging auf ein Datenbankfile. Die traditionellen Logs werden eigentlich gar nicht mehr angelegt, wenn man /etc/systemd/journald.conf unangetastet läßt.

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: logrotate: invoke-rc.d: not found

Beitrag von catdog2 » 09.03.2016 11:03:48

Vermutlich ist der PATH in der crontab nicht richtig gesetzt oder so, hier die mitgelieferte als Referenz: http://anonscm.debian.org/cgit/pkg-cron ... ontab.main
Davon abgesehen, verwendet Debian 8 systemd statt SysV-Init und das beinhaltet ein eigenes Logging auf ein Datenbankfile. Die traditionellen Logs werden eigentlich gar nicht mehr angelegt, wenn man /etc/systemd/journald.conf unangetastet läßt.
Falsch, Debian nutzt weiterhin rsyslog wenn nicht anders konfiguriert, Journal nur im RAM.
Unix is user-friendly; it's just picky about who its friends are.

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: logrotate: invoke-rc.d: not found

Beitrag von MSfree » 09.03.2016 11:17:47

catdog2 hat geschrieben:Falsch, Debian nutzt weiterhin rsyslog wenn nicht anders konfiguriert, Journal nur im RAM.
Komisch, das war bei meiner Jessie-Installation nicht so, könnte aber damit zu tun haben, daß die Installation noch testing war, als ich die aufgespielt habe.

Auch Raspian (OK, ist nicht ganz Debian) handhabt das so, daß über journald in Datenbanken gelogt wird.

cronoik
Beiträge: 2049
Registriert: 18.03.2012 21:13:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: logrotate: invoke-rc.d: not found

Beitrag von cronoik » 09.03.2016 11:40:55

MSfree hat geschrieben: Auch Raspian (OK, ist nicht ganz Debian) handhabt das so, daß über journald in Datenbanken gelogt wird.
Das schließt rsyslog auch nicht aus.
Hilf mit unser Wiki zu verbessern!

dominicpratt
Beiträge: 5
Registriert: 26.02.2016 08:12:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Bad Kreuznach
Kontaktdaten:

Re: logrotate: invoke-rc.d: not found

Beitrag von dominicpratt » 10.03.2016 16:48:49

Stimmt, der Path war fehlerhaft - irgendwie aber seltsam, dass es auch mit o.g. Pfad zu rsyslog nicht lief.

Antworten