디렉터리에 로그 파일을 생성하는 프로젝트 myservice
가 있습니다 .upstart
/var/log/upstrart/
내 서비스에서 너무 많은 로그를 생성하므로 이 문제를 해결해야 합니다. 그때까지는 시간 대신 크기를 기준으로 로그 파일을 회전해야 합니다. 내 기본 구성 logrotate
은 다음과 같습니다.
/var/log/upstart/*.log {
daily
missingok
rotate 7
compress
notifempty
nocreate
}
이것을 무시할 수 있나요 myservice
?
내 승리를 작성 하여 폴더 logrotate.conf
에 추가하면 기존 구성을 덮어쓸 수 있습니까?/etc/init.d/myservice
답변1
기본적으로 myservice
run 을 사용 하면 구성 파일 과 호환 파일도 upstart
있지만 후자는 디렉터리가 아닙니다. 또는 아래에 하위 디렉터리를 갖는 것은 매우 비표준입니다 ./etc/init/myservice.conf
/etc/init.d/myservice
/etc/init
/etc/init.d
즉, 업그레이드로 인해 변경 사항이 덮어쓰여질 수 있으므로 배포판에서 파일을 변경하는 것은 매우 나쁜 생각입니다. 모든 배포판에는 이를 방지하는 메커니즘이 있지만 작동하는지 확신할 수는 없습니다. 그러니 /etc/logrotate.d/upstart
당신이 인용한 연의 출처가 무엇이든 함부로 다루지 마십시오 . 이는 로그 파일을 에 저장할 수 없음을 의미합니다 /var/log/upstart
.
가장 쉬운 해결 방법은 디렉터리를 만들고 /var/log/myservice/
파일을 편집하여 /etc/init/myservice.conf
서비스에 로그인하도록 지시한 다음 /var/log/myservice/myservice.log
(가장 까다로운 부분입니다. 아래 참조) /etc/logrotate.d/myservice
원하는 섹션이 포함된 파일을 만드는 것입니다.
서버 장애데몬에게 다른 곳에 기록하도록 지시하는 방법에 대한 몇 가지 팁이 있습니다(일반적으로 로깅을 시작에서 syslog로 이동한 다음 syslog에 기록할 위치를 알려줌). 나는 귀하의 서비스에 대해 아무것도 모르기 때문에 더 이상 말씀드릴 수 없습니다.