Logrotate. Problem z wywołanie akcji rotate

Witam.

 

Na jednym z serwerów mam skonfigurowany skrypt logrotate’a aby rotował mi logami. Niestety kiedy cron odpali logrotate’a dostaję mail z błędem. Jakieś propozycje co z tym zrobić.

/etc/cron.daily/logrotate:
initctl: invalid command: rotate
Try `initctl --help' for more information.
invoke-rc.d: initscript rsyslog, action "rotate" failed.
error: error running non-shared postrotate script for /var/log/iptables.log of '/var/log/iptables.log
'
initctl: invalid command: rotate
Try `initctl --help' for more information.
invoke-rc.d: initscript rsyslog, action "rotate" failed.
error: error running non-shared postrotate script for /var/www/motoceny.naturaily.eu/current/log/deployment_unicorn.log of '/var/www/motoceny.naturaily.eu/current/log/deployment_unicorn.log
'
initctl: invalid command: rotate
Try `initctl --help' for more information.
invoke-rc.d: initscript rsyslog, action "rotate" failed.
error: error running non-shared postrotate script for /var/www/motoceny.naturaily.eu/current/log/newrelic_agent.log of '/var/www/motoceny.naturaily.eu/current/log/newrelic_agent.log
'
initctl: invalid command: rotate
Try `initctl --help' for more information.
invoke-rc.d: initscript rsyslog, action "rotate" failed.
error: error running non-shared postrotate script for /var/www/motoceny.naturaily.eu/current/log/production.log of '/var/www/motoceny.naturaily.eu/current/log/production.log
'
initctl: invalid command: rotate
Try `initctl --help' for more information.
invoke-rc.d: initscript rsyslog, action "rotate" failed.
error: error running non-shared postrotate script for /home/backups/logs/pg_backup.log of '/home/backups/logs/pg_backup.log
'
initctl: invalid command: rotate
Try `initctl --help' for more information.
invoke-rc.d: initscript rsyslog, action "rotate" failed.
error: error running non-shared postrotate script for /home/backups/logs/pg_backup_rotate.log of '/home/backups/logs/pg_backup_rotate.log
'
run-parts: /etc/cron.daily/logrotate exited with return code 1

Spróbuj w skrypcie używać ścieżek bezwzględnych, czyli zamiast rotate - użyć /usr/bin/rotate .

Drugie rozwiązanie tego problemu to zadeklarowanie na samym początku katalogów path np zaraz po #!/bin/bash dodać:

 

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

 

i wtedy uruchomić.

 

Chodź nie ukrywam zalecam pierwszą opcję - używanie ścieżek bezwzględnych.

 

Ewentualnie - upewnij się, czy w ogóle masz rotate zainstalowane (np poprzez wheresi rotate , powinno pokazac sciezke gdzie jest zainstalowany).

whereis rotate nic nie zwróciło, jednak czy rotate jest programem zewnętrznym?

 

http://manpages.ubuntu.com/manpages/hardy/man8/logrotate.8.html

Tak, logrotate musisz mieć zainstalowane jeśli chcesz z niego korzystać (możesz z apt-get install logrotate ) , albo źródła - https://fedorahosted.org/logrotate/

sudo aptitude search logrotate
i logrotate - Log rotation utility

Logrotate mam zainstalowane. Jest instalowane domyślnie z każdą wersją serwerową Ubuntu.

 

Myślę, że problem leży w konfiguracji

invoke-rc.d rsyslog rotate > /dev/null

zamieniłem na

/etc/init.d/rsyslog rotate > /dev/null

powinno pomóc.