logrotate가 수행하는 작업을 어떻게 모니터링 할 수 있습니까?


51

우분투에서 logrotate가 무엇을 모니터링하는지 어떻게 알 수 있습니까? logrotate 활동을 모니터링 할 수 있습니까?


글쎄, 당신은 프로세스가 어떤 파일 디스크립터를 열 었는지 알 수있다 ... 당신이 어떤 정확한 문제를 설명하려고 노력 할까? 자신 만의 스크립트를 디버깅하려고하십니까? 기본 / 타사 스크립트의 성능은?
Hubert Kario

답변:


55
cat /var/lib/logrotate/status 

특정 로그가 실제로 회전하는지 확인하고 마지막 회전 날짜 및 시간을 확인하려면 / var / lib / logrotate / status 파일을 확인하십시오. 이 파일은 로그 파일 이름과 마지막 회전 날짜가 포함 된 깔끔한 형식의 파일입니다.

에서 가져온 :

https://www.digitalocean.com/community/articles/how-to-manage-log-files-with-logrotate-on-ubuntu-12-10


16
이 파일은 /var/lib/logrotate.statusRed Hat 시스템과 동일합니다.
Michael Hampton

1
다음은 Red Hat 시스템에서 logrotate 문제 해결에 대한 완전한 안내서입니다 : access.redhat.com/solutions/32831
Gaia

우분투를 고려 하면 루트 사용자가 시작한 logrotate 활동cat /var/lib/logrotate/status 만 표시 합니다 . 다른 사용자의 cronjob은 예를 들어 crontab에 다음과 같은 항목이 포함 된 경우 자신의 logrotate 활동을 트리거 할 수 있습니다 0 0 * * * /usr/sbin/logrotate $HOME/logrotate/logrotate.conf --state $HOME/logrotate/logrotate-state. 즉, logrotate에 활동이 파일에 기록 될 것 $HOME/logrotate/logrotate-state으로, $HOME해당 사용자의 홈 디렉토리 인.
Abdull

보다 최근의 RedHat 시스템 (적어도 RHEL 7.6 이상)에서 상태 파일은 현재 /var/lib/logrotate/logrotate.status입니다.
Richlv

13

디버그 또는 상세 모드에서 logrotate를 실행할 수 있습니다.

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

-v, --verbose
          Display messages during rotation.

logrotate가 cron으로 시작될 때 이것이 도움이됩니까? logrotate의 동작을 로그 파일에 기록 할 가능성이 있습니까?

2
/ usr / sbin / logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log
kernelpanic

sudo logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log bash : /var/log/logrotate.log : 권한이 거부되었습니다

1
@dude : 명령 줄에서 그렇게하려하고 해당 오류가 발생하는 경우는 다음과 같이 그것을 수행해야합니다 : sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null(확인 하십시오 당신이 있습니다 -a).
Dennis Williamson

@Dennis 내가 시도 할 때 logrotate.log를 만들지 만 0KB가 있고 프로세스가 터미널에서 멈추지 않고 깜박이는 커서로 기다립니다.

9

Suse Linux 배포판에서 다음과 같습니다.

cat /var/lib/logrotate.status

AWS AMI Linux의 로그 로테이트 상태 구조는 동일합니다
Victor Perov

5

구성 파일 (/etc/logrotate.conf) 및 / 또는 디렉토리 (/etc/logrotate.d)를 기반으로 다양한 빈도로 다양한 로그가 회전됩니다. 이름은 배포판마다 다를 수 있습니다. 구성은 회전 전후 동작을 지정할 수 있습니다. 회전 된 파일 이름과 마지막 회전 날짜는 상태 파일 (/ var / lib / logrotate / state)에 있습니다.

Logrotate에는 로깅 기능이 없습니다. 시작된 재로드 / 재시작 조치는 수행중인 프로그램의 로깅에 따라 기록됩니다.

가장 쉬운 방법 /etc/cron.daily/logrotate-v옵션 을 포함 하도록 편집하는 것 입니다. logrotate 구성 및 옵션에 대한 자세한 내용은 명령을 사용하여 찾을 수 있습니다 man logrotate.


3

친구,의 설정은 logrotate일반적으로에서 확인할 수 있습니다 /etc/logrotate.conf.

최신 배포판에는 디렉토리 logrotate에 특정 구성 파일이 /etc/logrotate.d있습니다.

예를 들어 nginx

  /var/log/nginx/*.log {
    weekly
    missingok
    rotate 52

파일을 52 주 (1 년) 동안 보관합니다. 회전은 매주입니다.


참고 : user56548 은 "Dude" 였습니다 .

여기에 이미지 설명을 입력하십시오


아마, 당신은 의미 rotate 365weekly. 매일 로테이션 rotate 52하면 52 일의 로그가 유지됩니다.
temoto

@temoto 감사합니다, 그것은 실제로weekly
Ring Ø
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.