The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Парсинг файла с исключениями"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Парсинг файла с исключениями"  +/
Сообщение от universite email(ok) on 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


Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Парсинг файла с исключениями"  +/
Сообщение от LSTemp (ok) on 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)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Парсинг файла с исключениями"  +/
Сообщение от universite email(ok) on 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.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Парсинг файла с исключениями"  +/
Сообщение от universite email(ok) on 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
...
код для исключений
...

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру