logrotate 구문을 확인하는 방법은 무엇입니까?

logrotate 구문을 확인하는 방법은 무엇입니까?

/etc/logrotate.d/FOO 파일에 오타가 있는 것으로 의심됩니다.

이것을 어떻게 확인하나요? 지금까지 나는 다음을 볼 수 있습니다.

https://linux.die.net/man/8/logrotate

아마 이거? :

logrotate -df /etc/logrotate.d/FOO 2>&1 | grep -i error

답변1

나는 현재 답변에 대한 Vlad의 의견에 동의합니다. 안전한 방법실제로 아무것도 회전하지 않고 구문을 확인하십시오.예, 디버그 옵션을 사용하십시오.

에서 man logrotate:

       -d, --debug
              Turns  on  debug  mode  and implies -v.  In
              debug mode, no changes will be made to  the
              logs or to the logrotate state file.

내 컴퓨터의 예:

$ logrotate -d /etc/logrotate.d/httpd 
reading config file /etc/logrotate.d/httpd

Handling 1 logs

rotating pattern: /var/log/httpd/*_log  5242880 bytes (10 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/httpd/access_log
  log does not need rotating
considering log /var/log/httpd/error_log
  log does not need rotating
not running postrotate script, since no logs were rotated

-f옵션을 추가하면 회전이 강제됩니다.실제로 실행(필요 여부에 관계없이) 추가 분석이 가능합니다.

요약:

-d    Just debug, don't actually rotate.
-df   Actually perform rotation and debug (includes verify).
-vf   Actually perform rotation and just verify.

답변2

-v 플래그를 사용하기 전에 logrotate 구문을 확인할 수 있습니다.

logrotate -vf /etc/logrotate.d/FOO

파일 회전에 오류가 있으면 해당 오류가 표시되어야 합니다.

관련 정보