LINUX.ORG.RU

incrond IN_MODIFY + mcedit = дублируется вызов скрипта

 atq,


0

1

задача: в рабочее время суток ограничить себя любимого от сидения во всяких социальных сетях, будь то форумы, хабры, и даже лор.
реализация: squid+rejik
создан чёрный список времяпожирателей в /etc/squid/banlists/social/urls

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


#!/bin/bash
cmp -s /etc/squid/banlists/social/urls.backup /etc/squid/banlists/social/urls
if [ $? -ne 0 ] ; then
cp /etc/squid/banlists/social/urls.backup /etc/squid/banlists/social/urls
/bin/systemctl reload squid.service
fi


с ежечасной проверкой в кроне. однако слишком часто в логи крона пишется об этом задании, чаще чем происходит разбан, да и вообще, разбан держится до той минуты, когда это прописано в кроне, тоесть может быть как 59 минут, так и 2 минуты.

потом я вспомнил про incron, прописал туда этот скриптик вот так:
/etc/squid/banlists/social/urls IN_MODIFY /bin/at now +1hour -f /etc/squid/banlists/fix_social.sh

однако оказалось что если я изменяю его с помощью mcedit то у меня 2 раза выполняется MODIFY и таким образом 2 раза возникает задача в atq
есть ли какие-то штатные механизмы защиты от дублирования или частоты вызовов в incron?

★★★

задача: в рабочее время суток ограничить себя любимого от сидения во всяких социальных сетях

Возьми себя в руки, чмо безвольное.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.