Apache error.log 파일을 삭제하면 어떻게 되나요?

Apache error.log 파일을 삭제하면 어떻게 되나요?

"/var/log/apache2/error.log" 파일을 삭제하면. 그러면 분명히 오류가 기록되지 않습니다.

하지만 문제는 다음과 같습니다.

이 예제에서 누락된 파일(error.log)에 아파치가 오류를 쓰려고 하면 오류가 발생하지 않습니까? 그렇다면 어디에 저장되나요? 그렇지 않다면 왜?

답변1

Apache가 실행 중인 동안 이 작업을 수행하면 파일에 대한 디렉터리 항목이 삭제되지만 파일 자체는 삭제되지 않습니다(서버에서 이미 열려 있기 때문입니다). 파일이 여전히 공간을 차지하고 커지며 파일을 연 모든 사람이 파일을 닫은 후에만 실제로 사라지기 때문에 디스크 공간을 확보하기 위해 이 작업을 수행할 때 종종 사람들을 귀찮게 합니다.

아파치가 실행되지 않을 때 파일을 삭제하면 시작 시에만 파일이 생성됩니다. 아파치가 여기에 쓰는 것을 막는다면, 제 기억이 맞다면 서버는 전혀 시작되지 않을 것입니다.

전체적으로, apache가 파일을 생성할 수 있는 한 누락된 파일은 문제가 되지 않습니다. 실제로 이것이 로그 파일 회전이 일반적으로 작동하는 방식입니다. (파일 이름을 바꾸면 서버가 로그 파일을 닫고 열도록 지시합니다. Close는 이름이 바뀐 이전 파일을 닫고, open은 새 파일을 엽니다.)

관련 정보