CentOS 8에 상응하는 logrotate 스크립트는 무엇입니까?

CentOS 8에 상응하는 logrotate 스크립트는 무엇입니까?

일부 로그 파일을 저장하는 Ubuntu 서버에 logrotate 스크립트가 있습니다. 스크립트는 다음과 같습니다.

/home/*/logs/*log {
        su root root
        notifempty
        daily
        rotate 7
        compress
        sharedscripts
        postrotate
                if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
                        /etc/init.d/apache2 reload > /dev/null
                fi
        endscript
}

이제 CentOS 8 서버에 동일한 스크립트를 구현하고 싶습니다. 여기서 나는 이 줄의 가치가 무엇인지 이해하지 못합니다.

if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
        /etc/init.d/apache2 reload > /dev/null
fi

답변1

httpdCentOS 기본 패키지에 사용되는 것을 사용하는 것이 좋습니다httpd.logrotate:

/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    delaycompress
    postrotate
        /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
    endscript
}

(또한 /home을 웹 사이트를 저장하는 장소로 사용하지 않는 것이 좋습니다. SELinux를 끄지 않으면 거의 모든 것이 중단될 것이라고 생각합니다. 그렇기 때문입니다. 그 외에 귀하의 레시피는 사용자 압축 로그를 가져옵니다. 웹사이트 사용자만 있는 경우 로그 디렉토리의 홈 디렉토리인 것 같습니다...)

관련 정보