Добавляем cidr к префиксу в sed

Иногда приходится добавлять префиксы, полученные из quagga в таблицы ipfw. Для этого нужно добавить соответствующий cidr для сетей класса A, B и C, который сама quagga в своем выводе опускает. Делается это следующим набором команд для sed:

br# echo 192.16.0.0 | sed -E -e 's|^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)$|\1/24|' -e 's|^([0-9]+\.[0-9]+\.[0-9]+)$|\1.0/16|' -e 's|^([0-9]+\.[0-9]+)$|\1.0.0/8|'
192.16.0.0/24
br# echo 172.16.0 | sed -E -e 's|^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)$|\1/24|' -e 's|^([0-9]+\.[0-9]+\.[0-9]+)$|\1.0/16|' -e 's|^([0-9]+\.[0-9]+)$|\1.0.0/8|'
172.16.0.0/16
br# echo 10.0 | sed -E -e 's|^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)$|\1/24|' -e 's|^([0-9]+\.[0-9]+\.[0-9]+)$|\1.0/16|' -e 's|^([0-9]+\.[0-9]+)$|\1.0.0/8|'
10.0.0.0/8

Организация горячего кэширования статики в nginx

В определенных ситуациях требуется быстро раздавать фиксированный набор статических файлов, например при раздаче swf файлов flash/flex приложений.
Для того, чтобы снизить нагрузку на диски и уменьшить время реакции, можно организовать горячее кэширование файлов в оперативной памяти:

Создадим хранилище для кэша на md диске:

mkdir /var/tmp/nginx
chown www:www /var/tmp/nginx
echo "md /var/tmp/nginx mfs rw,-s128m,late 2 0" >> /etc/fstab
mount /var/tmp/nginx

Организуем локальный сервер для раздачи статики, с которого будет заполняться кэш:

server
{
    listen 127.0.0.1:80;
    root /usr/local/www/site;
}

В контексте http описываем зону кэширования:

proxy_cache_path /var/tmp/nginx/store levels=1:2 keys_zone=STATIC:10m inactive=1d max_size=128m;

В контексте server добавляем location для статики, которую будем кэшировать:

location ~\.swf$ {
    proxy_pass http://127.0.0.1:80;
    expires 30d;
    proxy_intercept_errors on;
    proxy_cache STATIC;
    proxy_cache_min_uses 1;
    proxy_cache_valid 1d;
    proxy_ignore_client_abort on;
    proxy_temp_path /var/tmp/nginx/tmp;
    proxy_cache_use_stale updating;
}

Перегружаем сервер и запрашиваемые swf файлы начинают кэшироваться на md диске:

/usr/local/etc/rc.d/nginx reload