httpd日志空间释放带来的疑问

问题

刚接手了一台服务器,发现访问日志无比巨大(记录在一个文件中),因此挂载了新的云盘,将日志转移到云盘;发现mv之后,日志所占的磁盘空间并没有释放。新建了日志的同名文件,也没有新的日志写入。

猜测应该是原来的文件文件描述符没有释放,怎样在不重启服务的情况下将磁盘空间释放呢?

这台服务器的httpd是编译安装的,没有relaod选项。

问题带来的疑问

假如使用httpd -k restart,在线的用户肯定会受到影响;

具体会受到哪些影响呢?

1 假如用户在付款交易,正在写数据库,应该会导致数据错乱吧;
2 会影响到用户的登录状态吗?

总结

经过帮助,使用httpd -k graceful也可以。

reloadgraceful的作用是不重启使httpd的配置生效。

更优雅的删除日志并释放空间

恰好昨天面试问到如何删除日志并释放空间,上面的方法面试官都不太满意,一直追问,没回答上来。
他说:

echo > xxx.log

原来只要这样,如此简单,不用重启服务,发送信号。

阅读 3.5k
1 个回答

service apache2 reload即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题