![디렉토리를 /dev/null로 지정하는 방법은 무엇입니까? [복사]](https://linux55.com/image/44114/%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EB%A5%BC%20%2Fdev%2Fnull%EB%A1%9C%20%EC%A7%80%EC%A0%95%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
저는 사용자 정의 로그 디렉토리를 생성하고 여기에 로그를 쓰는 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)이기 때문에 그렇게 할 수 없습니다 . 그 안에는 파일을 생성할 수 없습니다. 이러한 로그 생성을 방해하지 않도록 애플리케이션을 구성해야 합니다.