디렉토리를 /dev/null로 지정하는 방법은 무엇입니까? [복사]

디렉토리를 /dev/null로 지정하는 방법은 무엇입니까? [복사]

저는 사용자 정의 로그 디렉토리를 생성하고 여기에 로그를 쓰는 cPanel을 사용하여 CentOS를 실행하고 있습니다. 결과적으로 하드 디스크의 IO가 매우 높습니다.

이렇게 하면 다음과 같은 lsof결과를 얻습니다.

hostsite.com

httpd      2383    nobody 3779w   REG  253,0         0  422463 /usr/local/apache/domlogs/mygamecardotcobnao.super                  hostsite.com-bytes_log
httpd      2383    nobody 3780w   REG  253,0      5265  420994 /usr/local/apache/domlogs/myfreefreedatixuua.super                  hostsite.com
httpd      2383    nobody 3781w   REG  253,0        36  422464 /usr/local/apache/domlogs/myfreefreedatixuua.super                  hostsite.com-bytes_log
httpd      2383    nobody 3782w   REG  253,0      3101  415849 /usr/local/apache/domlogs/myfreedatingfrekeuo.supe                  rhostsite.com
httpd      2383    nobody 3783w   REG  253,0        72  422465 /usr/local/apache/domlogs/myfreedatingfrekeuo.supe                  rhostsite.com-bytes_log
httpd      2383    nobody 3784w   REG  253,0       672  419338 /usr/local/apache/domlogs/myfreedatingblogsxgo.sup                  erhostsite.com
httpd      2383    nobody 3785w   REG  253,0         0  422466 /usr/local/apache/domlogs/myfreedatingblogsxgo.sup   

이러한 행이 많이 자동으로 생성되기 때문에 이 domlog를 비활성화하는 것은 불가능합니다.

나는 단지 /usr/local/apache/domlogs/그것을 지적하고 싶습니다 /dev/null. 나는 할 수있다?

답변1

RAM 여유가 있는 경우 RAM 디스크를 설정하고 여기에 로그를 저장할 수 있습니다.

mount -t tmpfs -o size=200M none /usr/local/apache/domlogs

또한 분/시간/일/야간/주/*마다 로그를 회전하고 오래된 로그를 삭제하도록 logrotate를 설정해야 합니다. 이것이 정확히 원하는 것은 아니지만 RAM I/O로 인해 디스크 속도가 느려지지 않으므로 문제가 해결될 것입니다.

답변2

그다지 좋은 솔루션은 아니지만(다른 답변에서 제안된 솔루션이 훨씬 더 좋음) 디렉터리를 삭제하고 /dev/null에 심볼릭 링크할 수 있습니다. 그러나 해당 디렉터리에 쓰려고 시도하다가 실제로 디렉터리가 아니라는 사실을 발견하면 응용 프로그램이 실패하기 시작할 수 있습니다.

답변3

/dev/null아니요, 디렉터리가 아니라 파일(실제로는 devnode)이기 때문에 그렇게 할 수 없습니다 . 그 안에는 파일을 생성할 수 없습니다. 이러한 로그 생성을 방해하지 않도록 애플리케이션을 구성해야 합니다.

관련 정보