Робота по расписанию

Обсуждение программы редиректора
Artem
Сообщения: 1
Зарегистрирован: Пн июн 14, 2004 1:33

Робота по расписанию

Сообщение Artem »

Люди добрые, есть такая проблема! :?: Надо что бы REJIK-3 резал *.exe, *.mp3, *.zip только днём, а ночью разрешал.
Как это сделать? зарание спасибо!

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

Сделай два конфига: в одном разреши, в другом запрети скачивание.
И копируй их по crontab в redirector.conf

Goblin Shi'k L'Grubbr
Сообщения: 49
Зарегистрирован: Ср окт 20, 2004 12:50
Контактная информация:

Сообщение Goblin Shi'k L'Grubbr »

Это хорошо для двух секций и одного контроля по времени.
Если у меня разные правила для нескольких временнЫх интервалов, и секций побольше чем 4, то отслеживать добавление/изменение/удаление секцих по разным конфигам это утомительно.
Кому это не нужно -- можно не использовать. Раньше меня бы очень заинтересовал контроль по имени пользователя. Сейчас такой проблемы нет -- я его и не использую. Но это не значит что эту фичу нужно убрать.

Контроль времени и allow_urls в секционных настройках -- это будет круто!

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

Предложите пожалуйста, как бы вы хотели задавать время в конфиге режика. Какие опции нужны, какой у них должен быть функционал?

Как-то хотел сделать ограничения по времени, но так и не нашел способа задания времени, удовлетворяющего различные варианты.

Goblin Shi'k L'Grubbr
Сообщения: 49
Зарегистрирован: Ср окт 20, 2004 12:50
Контактная информация:

Сообщение Goblin Shi'k L'Grubbr »

Вопрос конечно интересный... Главное, что я был к нему совершенно не готов :))
Но! Если взять за основу существующие опции РЕЖИКА и squid, то можно предложить следующее:

1. Первый параметр название дня недели, второй -- диапазон времени (аббревиатуры и способ задания времени взяты из squid.conf)
2. первое число ОБЯЗАТЕЛЬНО меньше второго, т.е. задать время с 21:00 до 8:00 нельзя (во всяком случае так оно задается в сквиде)

Я не знаю есть ли необходимость задавать время глобально, но для секций -- это действительно важно.
Примеры:

work_time MTWHF 9:00-17:00 -- секция действует по будням с 9:00-17:00
или
allow_time SA 0:00-23:59

Можно сделать "MTWHFSA" и 0:00-23:59 параметрами по умолчанию, тогда второй пример можно будет задать так:

allow_time SA, т.е. данная секция не действует по выходным.

Более того, проверку на время можно сделать при запуске РЕЖИКа, а не в процессе работы. Т.е. перезапускать squid по расписанию, как и предлагалось, но файл redirectоr.conf будет только один, и РЕЖИК подгружает только те секции, в которых нет ограничения по времени на текущий момент. Для первого примера сквид перезапускаем в 9:00 (секция ВКЛ) и 17:00 (секция ВЫКЛ) с понедельника по пятницу, для второго в 0:00 в субботу (секция ВКЛ) и в 0:00 в понедельник (секция ВЫКЛ).

Альтернативная запись для первого примера:
allow_time MTWHF 0:00-9:00
allow_time MTWHF 17:00-23:59

Можно, конечно, отслеживать еще и праздники, но это будет уже извращение...
Последний раз редактировалось Goblin Shi'k L'Grubbr Чт окт 21, 2004 16:41, всего редактировалось 1 раз.

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

Метод понятен, можно сделать, есть правда пара но:

1. Как задать работу секции с 20 числа 10 месяца по бесконечность?
2. Как задать работу секции только 20-го числа?


Очевидно work_time и allow_time можно будет вводить по несколько строк в одной секции.
Боюсь перезапуск сквида для отработки времени народ не поймет. Так что возможны тормоза.

Goblin Shi'k L'Grubbr
Сообщения: 49
Зарегистрирован: Ср окт 20, 2004 12:50
Контактная информация:

Сообщение Goblin Shi'k L'Grubbr »

Slava писал(а):1. Как задать работу секции с 20 числа 10 месяца по бесконечность?
2. Как задать работу секции только 20-го числа?
1. Если изменения должны ступить в силу в конкретный день и потом остаться, то вопрос это не по теме. Для этого варианта можно создать вторую копию конфига и потом работать только с ней.

2. Можно аналогично squidguardу:

work_date 2004-11-20 -- отработать 20 ноября 2004 года
work_date *-*-20 -- отработать 20 числа каждого месяца
Slava писал(а):Боюсь перезапуск сквида для отработки времени народ не поймет.
Во всяком случае это проще чем копировать разные варианты кофига и, опять же, пререзапускать сквид. Или для вступления в действие изменений в банлистах или конфиге РЕЖИКА сквид не перезапускается? Или я чего-то не понял?

Goblin Shi'k L'Grubbr
Сообщения: 49
Зарегистрирован: Ср окт 20, 2004 12:50
Контактная информация:

Сообщение Goblin Shi'k L'Grubbr »

По поводу настроек на конкретную дату я уже писал:
Можно, конечно, отслеживать еще и праздники, но это будет уже извращение...
Но, если можно будет сделать и это -- то почему бы и нет? :roll:

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

Хорошо, постараюсь сделать в следующей версии.
Текущая вот вот должна как стабильная выйти, потому ее корежить не хочется, а в следующей постараюсь.

Если будут еще какие либо идеи по задании времени даты - постите.

drurus
Сообщения: 18
Зарегистрирован: Пт май 28, 2004 14:52
Откуда: Krasnodar
Контактная информация:

Сообщение drurus »

Килять редиректор можно спокойно - сквид его перезапустит, с конфигом это связанно или нет, но у меня каждую минуту проверяет. Кстати и после ввода новых правил или урлов совершенно не обязательно перезапускать сквид, ведь так все текущие соединения взлетают до максимума и ограничение скорости на них перестает действовать - достаточно кильнуть redirector :)

А вот по датам и времени такое предложение - почему бы не сделать в формате cron-a? тогда точно не запутаешься когда что должно сработать. а в сам кронтаб добавить килл редиректора с 5 минутами позже например. правда для разовых секций такое не очень удобно, но мы ведь о долговременной работе говорим, с постоянной переодичностью смены конфы :)

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

Можно примеры?
как в конфиге режика в этом формате будут задаваться ограничения по времени/дате?
drurus писал(а): А вот по датам и времени такое предложение - почему бы не сделать в формате cron-a? тогда точно не запутаешься когда что должно сработать.

drurus
Сообщения: 18
Зарегистрирован: Пт май 28, 2004 14:52
Откуда: Krasnodar
Контактная информация:

Сообщение drurus »

Например мы хотим запретить качать mp3 в рабочее время, а разрешить только с 13.00 по 14.00 и после 17.00 до 8.00, а по выходным - без ограничения. Значит нужно указать время, когда эта секция будет активной.
Формат времени кронтаба
minute/минута hour/час mday/день_месяца month/месяц wday/день_недели

<MP3>
work_time 0 8-13,14-17 * * 1-5
ban_dir /usr/local/rejik3/banlists/mp3
url http://127.0.0.1/ban/mp3.html

При совпадении со временем секция работает, если совпадений нет - действие отменяется.
В кронтаб добавляется для перечитывания конфы режика:
5 8,13,14,17 * * 1-5 killall redirector

Goblin Shi'k L'Grubbr
Сообщения: 49
Зарегистрирован: Ср окт 20, 2004 12:50
Контактная информация:

Сообщение Goblin Shi'k L'Grubbr »

Можно и в формате crontab, тем более что crontab позволяет задавать время более гибко чем squid. Главное чтоб велосипед не изобретать.

Slava спрашивал:
Как задать работу секции с 20 числа 10 месяца по бесконечность?
Здесь подразумевается масштабное планирование, на века. Как это задать в crontab? И нужно ли?

Лично мне, на сегодняшний день, вполне хватало расписания на неделю (для HTTP_ACCSESS DENY в сквиде). Но если будет возможность задания времени с учетом числа и месяца -- почему бы и нет? Может кому и пригодится.

Подтверждаю "killall redirector" -- работает аж бегом, т.е. одним ( :) )перезапуском squid меньше. :D

drurus
Сообщения: 18
Зарегистрирован: Пт май 28, 2004 14:52
Откуда: Krasnodar
Контактная информация:

Сообщение drurus »

Slava писал(а): Как задать работу секции с 20 числа 10 месяца по бесконечность?
Goblin Shi'k L'Grubbr писал(а): Здесь подразумевается масштабное планирование, на века. Как это задать в crontab? И нужно ли?
Опять же - кронтабом. Очень просто и удобно, имхо. Если возникают затруднения, могу привести примеры.
Goblin Shi'k L'Grubbr, ты ведь сам и ответил на свой вопрос - масштабное планирование, на века. Разве это плохо :?: Я думаю наоборот. Опять же, говоришь
Goblin Shi'k L'Grubbr писал(а): Лично мне, на сегодняшний день, вполне хватало расписания на неделю (для HTTP_ACCSESS DENY в сквиде). Но если будет возможность задания времени с учетом числа и месяца -- почему бы и нет? Может кому и пригодится.
В том то и дело что кому-то очень пригодиться, не сомневаюсь. А то что это лично тебе не нужно..никто ведь не заставляет это использовать :D
В любом случае - расширение функциональности без ущерба для основной цели - это хорошо.

Goblin Shi'k L'Grubbr
Сообщения: 49
Зарегистрирован: Ср окт 20, 2004 12:50
Контактная информация:

Сообщение Goblin Shi'k L'Grubbr »

drurus писал(а):Если возникают затруднения, могу привести примеры.
Затруднений не возникало. Просто небыло необходимости. В принципе, все мое расписание в crontabe на серваке сводится к ежедневным, еженедельным и ежемесячным заданиям. Ну не придумал я еще задания выполняемого раз в несколько лет в определенный день определенного года :)
А пример покажи, может пригодится когда-нибудь, например "бомбу" кому-нибудь подложить на пару лет вперед... :)
drurus писал(а):А то что это лично тебе не нужно...
В любом случае - расширение функциональности без ущерба для основной цели - это хорошо.
Так я и не спорю. Я не против! Скорее наоборот, я всецело "ЗА!"
Я всегда говорил, что Excel отличный калькулятор, и не его вина что в нем есть финансовые и статистические функции, которыми я не пользуюсь. :)

И если мне еще полгода назад был нужен контроль по имени пользователя, а теперь нет, то этот прискорбный факт из моей биографии не является поводом убирать из РЕЖИКА данную фичу.

На этом и остановимся. Это вообще решать автору, что добавить, а что убрать. И в каком виде оно будет представлено...

Ответить