중지/비활성화된 애플리케이션의 로그 회전 건너뛰기

중지/비활성화된 애플리케이션의 로그 회전 건너뛰기

Raspberry Pi 2에 GNU/Linux를 실행하는 백업 시스템이 있습니다. 여러 가지 이유로 특정 응용 프로그램을 중지 및/또는 비활성화해야 합니다. Samba, httpd와 같이 다시 시작해야 하는 중지된 응용 프로그램에 대해 logrotate를 건너뛰는 방법:

다음과 같은 오류가 이메일로 전송되었습니다.

/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

smbd 및/또는 nmbd가 실행되지 않는 경우 회전을 건너뛰는 postrotate/endscript 방법이 있습니까?

답변1

logrotate 구성 파일(또는 특정 /etc/logrotate.d하위 파일)에는 다음과 같은 섹션이 있어야 합니다.

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

후회전 명령을 다음으로 변경합니다.

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

관련 정보