即使我在 php 设置中禁用了错误报告,一些脚本仍然会生成自己的 error_log 文件,其中一些占用了我 VPS 的所有空间。
我已经知道错误,我想强制它们不可用。我发现的方法是设置 error_log 文件的权限为 000。
现在,我该如何对服务器上的每一个可能的匹配执行此操作?
例如,我想对名为 的每个文件设置权限 000 error_log
。
答案1
find /var/log -name "error_log" -exec chmod 000 {} \;
是实现此目的最简单、最肮脏的方法。当然,最干净的方法就是重新配置你的程序,使其从一开始就不创建这些文件。
顺便说一句,如果你的程序以 root 身份运行,你就无法通过权限技巧阻止它们写入文件。在这种情况下,你需要:
find /var/log -name "error_log" -exec chattr +i {} \;
这将设置文件的不可变位error_log
,防止所有修改。这需要 root 权限。
如果你决定去干净的这样,这里有一些可能对你有帮助的东西:
grep "error_log" /etc -R 2> /dev/null
这将在您的配置文件中查找所有出现“error_log”的地方(假设它们位于 中的某个位置/etc
)。相应地编辑您的配置,并毫不犹豫地将搜索范围缩小到某些目录,或者另一个文件名(也许使用绝对路径error_log
?)。