매시간 로그를 회전하도록 logrotate를 설정하는 방법은 무엇입니까?

매시간 로그를 회전하도록 logrotate를 설정하는 방법은 무엇입니까?

Unix and Linux Administration Handbook 에 따르면 manlogrotate에는 daily, weekly, options 가 있는데 옵션을 monthly추가하는 방법이 있나요 hourly?

이 블로그 게시물size 1시간 옵션(예: )을 설정 및 제거한 daily다음 수동으로 호출 할 수 있다고 언급했습니다 logrotate. cron다음과 같은 것이 상상됩니다.

logrotate -f /etc/logrotate.d/my-hourly-file

하지만 매시간 로그를 교체하는 더 우아한 솔루션이 있을까요?

ベストアンサー1

운영 체제에 따라 다릅니다. 일부(모두?) Linux 배포판에는 /etc/cron.hourly매시간 실행되는 cron 작업을 배치할 수 있는 디렉터리가 있습니다 .

다른 것들은 디렉토리를 가지고 있습니다 /etc/cron.d/. 여기에서 crontab 항목에 대한 일반적인 cron 설정을 사용하여 특수 사용자로 실행할 cron 작업을 배치할 수 있습니다(사용자 이름을 지정해야 함).

표준 로그 회전 스크립트 대신 이러한 스크립트를 사용하는 경우 /etc/cron.daily/스크립트를 여기와 cp /dev/null원래 위치에 복사해야 합니다. 그렇지 않으면 logrotate 패치 업데이트를 통해 다시 활성화됩니다.

시간별로 올바르게 회전하려면 dateext다음 명령을 따르십시오.아니요놓다. 그렇다면 기본적으로 첫 번째 회전된 파일에는 YYYYMMDD와 같은 현재 날짜의 확장자가 적용됩니다. 그런 다음 같은 날 두 번째 로그 회전이 활성화되고 size임계값을 초과하더라도 회전을 건너뜁니다.

그 이유는 회전할 파일의 새 이름이 이미 존재하고, logrotate가 기존 이전 파일에 내용을 추가하지 않기 때문입니다. 예를 들어, RHEL 및 CentOS에서 이 dateext지시어의 기본값은 입니다 . 이 줄을 제거하거나 주석 처리한 후 회전된 파일은 해당 값에 도달할 /etc/logrotate.conf때까지 실행 번호를 확장자로 가져옵니다 . rotate이렇게 하면 하루에 여러 번 회전할 수 있습니다.

おすすめ記事