【发布时间】:2015-01-19 16:45:14
【问题描述】:
我刚刚用 rm error.log 删除了我的 apache error.log 文件,并想用 touch error.log 创建一个新文件。现在 apache 不再记录了。之后我阅读了this 的文章。很聪明..
是否可以创建一个新的error.log文件或者apache在重启时是否会创建一个新的错误日志?
【问题讨论】:
标签: apache2
我刚刚用 rm error.log 删除了我的 apache error.log 文件,并想用 touch error.log 创建一个新文件。现在 apache 不再记录了。之后我阅读了this 的文章。很聪明..
是否可以创建一个新的error.log文件或者apache在重启时是否会创建一个新的错误日志?
【问题讨论】:
标签: apache2
【讨论】:
Apache 应该在重启时重新创建日志文件,如果你没有这样做,可能 apache 的用户没有权限在日志目录中写入。
如果你做了touch error.log beign root 则 apache 无法写入该日志文件,因为它由 root 拥有。将所有权更改为 apache 的用户。
【讨论】:
当 apache 启动时,它会在日志文件上打开一个“句柄”。 如果您删除该文件并重新创建一个,则 apache 仍将写入旧句柄,而 nothong 将附加到新句柄。 在程序使用文件时清空文件的正确方法是使用:
echo "" > /path/to/file
【讨论】: