Запуск скрипта раз в 5 секунд.

12
G2
На сайте с 16.02.2013
Offline
35
1601

Всем здравствуйте.

Имеется скрипт:

#!/bin/bash

SLEEP_TIME=5
while true; do
awk '{print "ipset -A blacklist " $1}' /tmp/bad_request.log | sort -u | sh;
cat /dev/null > /tmp/bad_request.log
sleep $SLEEP_TIME;
done

Как мне сделать так, чтобы он был всегда запущен и выполнялся раз в 5 секунд?

VK
На сайте с 29.12.2011
Offline
42
#1

grisha2217, запустите в скрине.

Либо добавьте в крон запуск с проверкой запущена ли уже копия скрипта.

Den73
На сайте с 26.06.2010
Offline
523
#2

не проще

tail -f

все это костыли с кронами и циклами

G2
На сайте с 16.02.2013
Offline
35
#3
V2NEK:
grisha2217, запустите в скрине.
Либо добавьте в крон запуск с проверкой запущена ли уже копия скрипта.

По подробнее можно? Для меня это темный лес.

Андрей
На сайте с 30.09.2009
Offline
482
#4

man screen

или просто запускаем

nohup script.sh &
EuroHoster.org ( https://eurohoster.org/ru/ ) - территория быстрых серверов. Выделенные серверы, VPS, SSL, домены и VPN.
G2
На сайте с 16.02.2013
Offline
35
#5
Den73:
не проще

tail -f

все это костыли с кронами и циклами

Так?

filter.sh

tail -f /tmp/bad_reqeust.log | grep --line-buffered -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | xargs -n1 -Iip ipset -A blacklist ip > /dev/null

/etc/rc.local:


...
/var/filter.sh
Den73
На сайте с 26.06.2010
Offline
523
#6
grisha2217:
Так?

filter.sh
tail -f /tmp/bad_reqeust.log | grep --line-buffered -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | xargs -n1 -Iip ipset -A blacklist ip > /dev/null


/etc/rc.local:


...
/var/filter.sh

да, по такому принципу

G2
На сайте с 16.02.2013
Offline
35
#7

Пытаюсь изменить вид лога, на выходе пишет ошибку:

unknown log format "lp_access_v2" in /etc/nginx/nginx.conf:22


access_log /tmp/ban_location.log lp_access_v2;
log_format lp_access_v2 '$remote_addr | $time_iso8601 | $request | $status | $request_length | $bytes_sent | $request_time | $upstream_response_time | $http_referer | $http_user_agent';
Den73
На сайте с 26.06.2010
Offline
523
#8

там же написано unknown log format

сперва нужно объявить формат а потом уже использовать

G2
На сайте с 16.02.2013
Offline
35
#9

Если убрать из access_log "lp_access_v2", то лог получится стандартным.

Версия nginx 1.7.0

---------- Добавлено 01.05.2014 в 17:02 ----------

Den73:
там же написано unknown log format

сперва нужно объявить формат а потом уже использовать

А это разве не является объявлением?

log_format lp_access_v2
Den73
На сайте с 26.06.2010
Offline
523
#10

использовать нужно после объявления.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий