할당량(vserver) 없이 디렉토리 크기를 제한하는 방법은 무엇입니까?

할당량(vserver) 없이 디렉토리 크기를 제한하는 방법은 무엇입니까?

질문이 너무 일반적이지 않기를 바랍니다.

가상 서버(Ubuntu 12.04)가 있으므로 할당량을 사용하여 디렉터리 크기를 제한할 수 없습니다. 이것을 달성할 수 있는 다른 가능성이 있는지 궁금합니다.

내가 상상할 수 있는 유일한 방법은 inotify + 최대 크기가 명시된 config-file + 파일을 비우거나 제거하는 명령 등의 조합일 것입니다. 사용자 디렉토리를 제한하는 것이 아니라 로그 파일과 같은 파일을 자동으로 작성하는 것입니다.
나는 그것이 최선의 방법이 아니라는 것을 알고 있지만 효과가 있을 것이라고 생각하는 유일한 방법입니다. 더 좋은 것이 있나요?

답변1

이것은 실제로 많은 할당량에 맞게 확장되지는 않지만 간단한 해결책 중 하나는 원하는 고정 크기를 가진 다른 파일 시스템을 만드는 것입니다.

예비 블록 스토리지가 없는 경우 스파스 파일을 가리키는 루프백 장치를 사용할 수 있습니다. 스파스 파일은 사용될 때까지 스토리지를 소비하지 않지만 해당 스파스 파일 위에 파일 시스템을 생성하면 사용 가능한 최대 스토리지 용량이 고정된 것처럼 보입니다. 하지만 성장/축소는 다소 어려울 것입니다. 가장 안전한 방법은 더 크거나 작은 새 스파스 파일 + 파일 시스템을 만든 다음 이전 파일의 내용을 전송하는 것입니다.

답변2

문제가 특히 로그 파일인 경우 최대 파일 크기 지정을 지원하는 syslog 데몬을 사용하십시오. 나는 rsyslogd가 그렇게 한다고 믿습니다. 이것이 가능하지 않은 경우 로그가 최대 파일 크기에 도달하면 로그를 회전하고 지정된 수의 로그만 유지하여 전체 크기가 제한 내에서 유지되도록 할 수 있는 다수의 logrotate 프로그램이 있습니다.

관련 정보