Как отфильтровать список виртуальных хостов Apache, используя grep - PullRequest
0 голосов
/ 28 июня 2011

У меня есть сервер Apache, сконфигурированный со многими виртуальными хостами, и я хотел бы иметь возможность фильтровать их, используя grep, как это ..

# httpd -S | grep "myStr"

.. Однако, этот подход не работает - я 'Я все еще вижу все мои виртуальные хосты в списке.Любые идеи, как я могу на самом деле это сделать?

Вот пример вывода из httpd -S

[root@224136 config]# httpd -S
VirtualHost configuration:
184.22.xxx.33:80       is a NameVirtualHost
         default server default (/etc/httpd/conf/kloxo/default.conf:4)
         port 80 namevhost default (/etc/httpd/conf/kloxo/default.conf:4)
         port 80 namevhost webmail (/etc/httpd/conf/kloxo/webmail.conf:6)
         port 80 namevhost xxxxxx.com (/home/httpd/xxxxxx.com/conf/kloxo.xxxxxxx.com:4)
         port 80 namevhost twptest.xxxxxx.com (/home/httpd/twptest.xxxxxx.com/conf/kloxo.twptest.xxxxxx.com:4)
         port 80 namevhost yyyyyyy.com (/home/httpd/yyyyyy.com/conf/kloxo.yyyyyyy.com:4)
         port 80 namevhost zzzzzzzz.com (/home/httpd/zzzzzzz.com/conf/kloxo.zzzzzzzz.com:4)
         port 80 namevhost expenses.zzzzzzzz.com (/home/httpd/expenses.zzzzzzz.com/conf/kloxo.expenses.zzzzzzz.com:4)
         port 80 namevhost aaaaaaaa.cz (/home/httpd/aaaaaaaaaaaa.cz/conf/kloxo.aaaaaaaaaaa.cz:4)
         port 80 namevhost aaaaaaaaaaa.cz (/home/httpd/aaaaaaaaaaaaa.cz/conf/kloxo.aaaaaaaaaa.cz:142)

Ответы [ 2 ]

1 голос
/ 05 марта 2012

У меня была такая же потребность, и я использовал следующее:

 /usr/sbin/apache2ctl -S 2>&1 | awk '/namevhost/  {print $4;} '

Он перенаправляет SDTERR (2) в STDOUT (& 1) перед тем, как получить awk для его очистки

1 голос
/ 28 июня 2011

Поскольку вы говорите, что «я все еще вижу все свои виртуальные хосты в списке», я подозреваю, что вам нужно перенаправить STDERR в STDOUT, как показано ниже (предполагается, что bash)1002 *

$ ./out.py | grep zzzzzzzz

VirtualHost configuration:
184.22.xxx.33:80       is a NameVirtualHost
         default server default (/etc/httpd/conf/kloxo/default.conf:4)
         port 80 namevhost default (/etc/httpd/conf/kloxo/default.conf:4)
         port 80 namevhost webmail (/etc/httpd/conf/kloxo/webmail.conf:6)
         port 80 namevhost xxxxxx.com (/home/httpd/xxxxxx.com/conf/kloxo.xxxxxxx.com:4)
         port 80 namevhost twptest.xxxxxx.com (/home/httpd/twptest.xxxxxx.com/conf/kloxo.twptest.xxxxxx.com:4)
         port 80 namevhost yyyyyyy.com (/home/httpd/yyyyyy.com/conf/kloxo.yyyyyyy.com:4)
         port 80 namevhost zzzzzzzz.com (/home/httpd/zzzzzzz.com/conf/kloxo.zzzzzzzz.com:4)
         port 80 namevhost expenses.zzzzzzzz.com (/home/httpd/expenses.zzzzzzz.com/conf/kloxo.expenses.zzzzzzz.com:4)
         port 80 namevhost aaaaaaaa.cz (/home/httpd/aaaaaaaaaaaa.cz/conf/kloxo.aaaaaaaaaaa.cz:4)
         port 80 namevhost aaaaaaaaaaa.cz (/home/httpd/aaaaaaaaaaaaa.cz/conf/kloxo.aaaaaaaaaa.cz:142)

Теперь отправьте STDERR в STDOUT:

$ ./out.py 2>&1 | grep zzzzzzzz
         port 80 namevhost zzzzzzzz.com (/home/httpd/zzzzzzz.com/conf/kloxo.zzzzzzzz.com:4)
         port 80 namevhost expenses.zzzzzzzz.com (/home/httpd/expenses.zzzzzzz.com/conf/kloxo.expenses.zzzzzzz.com:4)
...