如何将某个目录指向/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 ),而不是目录。您无法在其中创建文件。您需要将应用程序配置为不打扰创建这些日志。

相关内容