Amazon Linux 2에서의 cron.daily, anacron 동작 질문

0

Amazon Linux 2로 ec2를 생성했고, mongod를 설치했습니다. 그리고 로그파일 관리를 위해 /etc/logrotate.d/mongod 파일을 생성 및 설정했습니다.

그 외엔 건드린게 없지만, logrotate가 저절로 cron.daily에 설정되어있고, cron.daily는 anacrontab에 의해 구동되는 것 같습니다. 제가 파악한게 맞나요?

맞다면, 제가 알기로는 anacron은 특정 시각을 콕 집어 지정할 수 없는 것 같은데, 정확히 자정에 logrotate를 실행시키려면 어떻게 해야하는지 질문 드립니다.

  1. /etc/anacrontab의 START_HOURS_RANGE를 0-0으로 수정해야 할까요? 적용시키기 위해서 수정 후 리부팅같은 작업이 필요한지, 즉시 반영되는지도 궁금합니다.
  2. /etc/anacrontab의 cron.daily 실행부분을 지우고, /etc/crontab에 새로 설정을 해야할까요?
  3. 아니면 좀더 스마트한 다른 방법이 있는지요?
gefragt vor einem Jahr298 Aufrufe
1 Antwort
0

안녕하세요.

anacron 은 기본적으로 시스템의 각종 로그들을 cronjob 으로 스케줄링해서 돌려주는데, 여러가지 파일들이 한번에 몰려 실행되는것을 방지하기 위해 random delay 가 들어가 있습니다. 이것을 변경하게 되면 다른 시스템 로그파일들 쌓는 부분들도 영향을 받게 되니 mongod 용 logrotate 설정을 따로 빼서 관리하시는게 좋습니다.

  1. /etc/logrotate.d/mongod 파일(logrotate 설정파일) 을 /home/mongod/conf/logrotate.conf 처럼 다른 디렉토리로 이동.
  2. /etc/cron.d/mongod 파일 생성 (아래 내용대로)
# Run daily mongod log rotation
0 0 * * * root /usr/sbin/logrotate -s /home/mongod/logs/logrotate.status /home/mongod/conf/logrotate.conf

이런식으로 해두시면 아마 매일 0시 0분에 mongod 전용 logrotation 설정 파일을 읽어서 해당 로그들만 따로 rotation 작업이 실행될겁니다.

한번 테스트 해보시고 혹시 정상 동작안하면 아래 명령어만 직접 실행해보고 잘 되는지 점검해보세요.

/usr/sbin/logrotate -s /home/mongod/logs/logrotate.status /home/mongod/conf/logrotate.conf

아 그리고 시스템 재시작은 안하셔도 됩니다.

AWS
Hyeon
beantwortet vor einem Jahr

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen