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. 아니면 좀더 스마트한 다른 방법이 있는지요?
질문됨 일 년 전288회 조회
1개 답변
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
답변함 10달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인