Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.
Модераторы: SLEDopit , Модераторы разделов
Voler
Сообщения: 498
ОС: Fedora
Сообщение
Voler » 21.12.2008 21:58
Помогите разобратся со скриптом. Скрипт удаления не нужного домена из черного списка squidGuard
Выполнение проходит без ошибок, но вот нужная строка не удаляется.
Код: Выделить всё
# Введите нужный домен, который хотите удалите из blacklists
echo Введите нужный домен, который хотите удалите из blacklists
echo "Enter domain name:"
read DOMAIN
cat */domains | grep -nHE $DOMAIN */domains
# Укажите имя папки содержащий файл domains.
echo Укажите имя папки содержащий файл domains.
echo "Enter folder name:"
read DOMAINS
echo Укажите нужный url который нужно удалить из domains
echo "Enter URL name:"
read URL
res=`sed -e '/$URL/d' $DOMAINS/domains`
echo "$res" > $DOMAINS/domains
Если выполнять, этот кусок скрипта отдельно
filename=test
res=`sed -e '/impact.as/d' $filename`
echo "$res" > $filename
То он проходит успешно...
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows
Сообщение
allez » 22.12.2008 07:23
Код: Выделить всё
res=`sed -e '/$URL/d' $DOMAINS/domains`
echo "$res" > $DOMAINS/domains Попробуйте заменить эти две строки одной:
Ну и традиционный посыл к ману. :) Читайте
man sed на предмиет опции
-i . Заодно почитайте о том, чем одинарные кавычки отличаются от двойных.
Rusya89
Сообщения: 10
ОС: Slackware 12.1
Сообщение
Rusya89 » 22.12.2008 14:19
Простой скрипт для твоих нужд удаляем хост.
используем так
del_host domain.com sites_db
Код: Выделить всё
#!/bin/sh
#
sudo sed '/^'$1'$/d' -i /usr/local/squidGuard/db/$2/domains
#
/usr/local/squidGuard/bin/squidGuard -u -C /usr/local/squidGuard/db/$2/domains
chown -R squid /usr/local/squidGuard/db/$2/domains
#
echo 'Stop squid service'
killall -HUP squid
clear
echo "Deleting $1 in base $2"
Добавляем в базу запрещенный домен.
Код: Выделить всё
#!/bin/sh
#
site='/usr/local/squidGuard/db/sites/*'
#
echo $1 >> /usr/local/squidGuard/db/sites/domains
/usr/local/squidGuard/bin/squidGuard -u -C $site
chown -R squid $site
#
echo 'Stop squid service'
killall -HUP squid
clear
echo 'Add url name in SITE access denied'
использует так
add_domain domain.com sites_db
Добавление и удаление происходит в считанные секунды.
P.S. если есть другой вариант кидайте сюда