URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9131
[ Назад ]

Исходное сообщение
"Парсинг файла с исключениями"

Отправлено universite , 16-Май-11 17:24 
Имеется файл со списком доменов и ip
Нужно на основе его сгенерировать конфиги для нгинкса.
Проблема возникла, когда СЕОшники захотели конфиг для domain.com сконфигурировать по-другому,
domain.com/request? --> www.domain.com/request?

grep -v domain.com

не канает, ибо под маску попадет домен domain.com.[ua|ru]

Вот код скрипта:


#!/bin/sh

group=$1
group=test

dir=/etc/etc2/nginx/vhosts/$group

cat domain.$group.ip.list | grep -v ^#| grep -v ^$ | while read LINE
do
    domain=`echo $LINE | cut -d " " -f1`
    ip=`echo $LINE | cut -d " " -f2`
    ipv6=`echo $LINE | cut -d " " -f3`
    file=$domain.conf

cat << EOF > $dir/$file

server {
    listen $ip:80;
    server_name www.$domain;
    location  ~ /\. { deny all; }
    rewrite ^ http://$domain\$request_uri? permanent;
}

server {
    listen $ip:80;
    server_name $domain;

    access_log /www/$group/data/logs/$domain.access.log;
    error_log  /www/$group/data/logs/$domain.error.log;

    include vhosts/$group/shared_options;
}
EOF

done



Содержание
  • Парсинг файла с исключениями,LSTemp, 04:57 , 17-Май-11
  • Парсинг файла с исключениями,costas, 09:51 , 17-Май-11
  • Парсинг файла с исключениями,universite, 04:16 , 19-Май-11
    • Парсинг файла с исключениями,universite, 16:02 , 31-Май-11

Сообщения в этом обсуждении
"Парсинг файла с исключениями"
Отправлено LSTemp , 17-Май-11 04:57 
>[оверквотинг удален]
> server {
>     listen $ip:80;
>     server_name $domain;
>     access_log /www/$group/data/logs/$domain.access.log;
>     error_log  /www/$group/data/logs/$domain.error.log;
>     include vhosts/$group/shared_options;
> }
> EOF
> done
>

Цену решения огласи (http://www.opennet.me/openforum/vsluhforumID9/9126.html)


"Парсинг файла с исключениями"
Отправлено costas , 17-Май-11 09:51 
> Имеется файл со списком доменов и ip
> Нужно на основе его сгенерировать конфиги для нгинкса.
> Проблема возникла, когда СЕОшники захотели конфиг для domain.com сконфигурировать по-другому,
>
grep -v domain.com
 
> не канает, ибо под маску попадет домен domain.com.[ua|ru]

если имелось ввиду исключить по маске com|ua|ru, то примерно так
grep -E "[^(domain)\.(ru|ua|com)]"


"Парсинг файла с исключениями"
Отправлено universite , 19-Май-11 04:16 
> Имеется файл со списком доменов и ip
> Нужно на основе его сгенерировать конфиги для нгинкса.
> Проблема возникла, когда СЕОшники захотели конфиг для domain.com сконфигурировать по-другому,
>
domain.com/request? --> www.domain.com/request?

>
grep -v domain.com
 
> не канает, ибо под маску попадет домен domain.com.[ua|ru]


cat file | grep $domain | grep -v $domain.


"Парсинг файла с исключениями"
Отправлено universite , 31-Май-11 16:02 
>> Имеется файл со списком доменов и ip
>> Нужно на основе его сгенерировать конфиги для нгинкса.
>> Проблема возникла, когда СЕОшники захотели конфиг для domain.com сконфигурировать по-другому,
>>
domain.com/request? --> www.domain.com/request?

>>
grep -v domain.com
 
>> не канает, ибо под маску попадет домен domain.com.[ua|ru]
>
 
> cat file | grep $domain | grep -v $domain.
>

В общем, для исключений пришлось городить скрипт;


cat domain.$group.ip.list | grep -v ^#| grep -v ^$ | grep ${exclude} | grep -v ${exclude}\\. | while read LINE
...
код для исключений
...