Pular logrotate para aplicações interrompidas / desativadas

4

Eu tenho um sistema de reposição rodando GNU / Linux em um Raspberry Pi 2. Por várias razões, eu tenho que parar e / ou desativar alguns aplicativos. Como eu pulo o logrotate para aplicativos parados que precisam ser reiniciados, por exemplo: samba, httpd:

Recebo o seguinte erro por e-mail para mim.

/etc/cron.daily/logrotate:
Job for smbd.service failed. See 'systemctl status smbd.service' and 'journalctl -xn' for details.
error: error running non-shared postrotate script for /var/log/samba/log.smbd of '/var/log/samba/log.smbd '
run-parts: /etc/cron.daily/logrotate exited with return code 1

Existe um modo postrotate / finscript para pular a rotação se o smbd e / ou o nmbd não estiverem rodando?

    
por TommyB 12.12.2016 / 16:08

1 resposta

3

Em seu arquivo de conversão logrotate (ou no sub-arquivo /etc/logrotate.d específico), você deve ter uma seção como:

/var/log/samba/log.smbd {
        ...
        postrotate
                /etc/init.d/smbd reload > /dev/null
        endscript
        ...
}

Altere o comando postrotate para:

/var/log/samba/log.smbd {
        ...
        postrotate
                { pidof smbd && /etc/init.d/smbd reload; } > /dev/null
        endscript
        ...
}
    
por 12.12.2016 / 16:15

Tags