저는 4GB 내부 플래시 메모리를 갖춘 BeableBone Black에서 실행되는 Debian을 사용하고 있습니다.
>>
내 프로그램은 매일, 매분 생성하는 로그 파일에 지속적으로 기록/추가됩니다.
이 파일의 크기에 제한이 있나요? 더 이상 메모리가 없을 때까지 이 파일을 계속해서 기록하게 된다면 어떻게 됩니까?
며칠 후에 처음부터 다시 작성되도록 파일 루프를 만들려면 어떻게 해야 합니까?
답변1
이 파일의 크기에 제한이 있나요?
파일 시스템이 제한을 두지 않는 한 아니요. 최신 파일 시스템을 갖춘 4GB 플래시의 경우 최대 파일 크기에 도달하기 오래 전에 공간이 부족해질 수 있습니다. 아니요, 제한이 없습니다.
더 이상 메모리가 없을 때까지 파일을 계속 쓸지 여부
예
그러면 어떻게 되나요?
프로그램이 파일에 쓸 수 없습니다. 시스템의 모든 프로그램은 이 파일 시스템에 파일을 쓸 수 없습니다. 이 실패로 인해 많은 프로그램이 조용히 충돌하게 됩니다(로그에 공간이 없기 때문에 충돌 원인을 기록할 수 없습니다).
이것은 정말 나쁜 일이며 일반적으로 모든 것이 정상으로 돌아가기 전에 일부 공간을 비우고 재부팅해야 합니다.
/var/log
어떤 사람들은 로깅으로 인해 시스템이 중단되지 않도록 자체 파티션에 보관할 것을 권장합니다 .
며칠 후에 처음부터 다시 작성되도록 파일 루프를 만들려면 어떻게 해야 합니까?
이것이 "로그 회전"의 전부입니다. 다행히 데비안에는 로그 회전 도구가 내장되어 있습니다. 다음 설명서를 읽어 보시기 바랍니다.logrotate
. 이 도구는 주기적으로 로그 파일을 이동하고 새 파일을 시작합니다. 또한 자동으로 압축하고 결국에는 오래된 로그 파일을 삭제하므로 공간이 부족해지지 않습니다. 당신이 해야 할 일은 프로그램의 구성 파일을 /etc/logrotate.d/
.
노트:copytruncate
프로그램이 로그 파일을 닫지 않으면 구성 파일의 설정을 사용해야 할 수도 있습니다 . 하지만 필요할 때만 사용하세요.