Unix and Linux Administration Handbook 에 따르면 man
logrotate에는 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
이렇게 하면 하루에 여러 번 회전할 수 있습니다.