我对此有点陌生,但是我们以前的开发人员没有设置 vhost 日志进行轮换(或者 Apache 配置错误),因此虽然默认日志会轮换,但 vhost 日志不会轮换。
我正在阅读有关如何配置 logrotate.d (CentOS 4.x) 的信息,我认为我可以使用如下行创建一个新文件“vhosts”:
/var/log/httpd/*/*日志
但是,在 httpd 文件中,它有以下内容:/var/log/httpd/*log
我担心我的代码会与 httpd 代码冲突,因为它还会轮换 httpd 文件夹中的日志文件。我宁愿不必为每个 vhost 添加路径,因为我们可能随时添加新的 vhost。
该文件夹的样子如下(所有域子文件夹都包含access_log和error_log):
ls -l /var/log/httpd -rw-r--r-- 1 root root 0 2012 年 9 月 27 日 access_log -rw-r--r-- 1 root root 4743 2012 年 9 月 9 日 access_log-20120909 -rw-r--r-- 1 root root 106443 2012 年 9 月 16 日 access_log-20120916 -rw-r--r-- 1 root root 24832 2012 年 9 月 23 日 access_log-20120923 -rw-r--r-- 1 root root 11671 2012 年 9 月 26 日 access_log-20120927 drwxr-xr-x 2 root root 4096 2012 年 7 月 2 日 domain1 drwxr-xr-x 2 root root 4096 2012 年 11 月 13 日 domain2 drwxr-xr-x 2 root root 4096 2012 年 9 月 26 日 domain3 drwxr-xr-x 2 root root 4096 2012 年 9 月 6 日 domain4 -rw-r--r-- 1 root root 431 8月 11 03:07 error_log -rw-r--r-- 1 root root 1086 7月 21 03:06 error_log-20130721 -rw-r--r-- 1 root root 2007 年 7 月 28 日 03:13 error_log-20130728 -rw-r--r-- 1 root root 893 8月 4 03:18 error_log-20130804 -rw-r--r-- 1 root root 583 8月 11 03:07 error_log-20130811 -rw-r--r-- 1 root root 0 8月11日 03:07 ssl_access_log -rw-r--r-- 1 root root 2043 7月 21 01:07 ssl_access_log-20130721 -rw-r--r-- 1 root root 1725 7月 28 03:11 ssl_access_log-20130728 -rw-r--r-- 1 root root 1244 8月 3 19:29 ssl_access_log-20130804 -rw-r--r-- 1 root root 794 8月10日 12:17 ssl_access_log-20130811 -rw-r--r-- 1 root root 227 8月 11 03:07 ssl_error_log -rw-r--r-- 1 root root 1049 7月 21 01:07 ssl_error_log-20130721 -rw-r--r-- 1 root root 1078 7月 28日 03:11 ssl_error_log-20130728 -rw-r--r-- 1 root root 330 8月 3 16:02 ssl_error_log-20130804 -rw-r--r-- 1 root root 673 8月10日 12:17 ssl_error_log-20130811 -rw-r--r-- 1 root root 0 8月11日 03:07 ssl_request_log -rw-r--r-- 1 root root 2091 7月 21 01:07 ssl_request_log-20130721 -rw-r--r-- 1 root root 1705 7月 28 03:11 ssl_request_log-20130728 -rw-r--r-- 1 root root 1193 8月 3 19:29 ssl_request_log-20130804 -rw-r--r-- 1 root root 827 8月10日 12:17 ssl_request_log-20130811
答案1
我想在这种情况下
/var/log/httpd/*/*log
logrotate 应该可以正常工作。
你可以自己检查一下仅仅发出一个
ls -l /var/log/httpd/*/*log
下面显示了 logrotate 会做什么
logrotate -dv /etc/logrotate.d/vhosts