использование grep для показа записей, которые соответствуют шаблону и являются существующие по крайней мере X раз

Конечно, задания крона будут влиять на производительность в некотором роде. Если задание крона занимает 8 часов, оно, по-видимому, делает что-то большое. Но что? Там находится вопрос.

Если у Вас будет несколько фоновых заданий, которые конкурируют за ресурсы, то они займут больше времени для завершения. Например, если у Вас есть 8-часовое задание и 5-часовая работа, устроенная отдельно, они могут занять больше чем 13 часов, если Вы выполняете их одновременно, и они борются за тот же ресурс (диск ввод-вывод, сетевая пропускная способность, RAM, …). С другой стороны, если они используют различные ресурсы (например, каждый является зависящим от ЦП, другой ограничено диском), возможно, что они будут оба закончены к 8:00, если Вы запустите их в полночь.

Таким образом, правило растянуть интенсивные задания состоит в том, чтобы выделить ресурсы широко. Фигура, в чем каждое задание нужно (диск ввод-вывод, сетевая пропускная способность, RAM, ЦП, …) затем, разрабатывает расписание так, чтобы не было никакой конкуренции для ресурсов. Например, если у Вас есть 4 ГБ RAM, и задание № 1 требует, чтобы 2 ГБ, задания № 2 и № 3 потребовали 2 ГБ, каждая и нормальная эксплуатация сервера требует 2 ГБ, затем удостоверьтесь, что задание № 1 не работает в то же время, что и задания № 2 и № 3, но нормально выполнять № 2 и № 3 одновременно. Необходимо обычно выполнять интенсивное отдельным диском задание за один раз, если у Вас нет различных заданий, которые поражают различные дисковые пулы. ЦП может быть совместно использован без издержек, просто удостоверьтесь, что Вы имеете, некоторые уехали в операцию фронтенда (nice может помочь там).

4
18.02.2013, 19:25
2 ответа
sed < mail.log -n 's/.*auth failed.*rip=\([^,]*\).*/\1/p' |
  sort |
  uniq -c |
  awk '$1 >= 3' |
  sort -rn

Дал бы Вам IP-адреса соответствия с их количеством возникновения, отсортированного по количеству возникновения.

5
27.01.2020, 20:52
  • 1
    просто F N T S T I C!!!!!!!!спасибо!!!!!!!!!!!! –  SpaceDog 17.02.2013, 22:38

Могло быть настолько простым:

grep "whatever" "$file" | sort | {
    LAST=""
    counter=0
    while read -r LINE; do
        if [ x"$LINE" = x"$LAST" ]; then
            if [ 3 -eq "$((counter+=1))" ]; then
                echo "$LINE present more that 4 times"
            fi
        else
            counter=0
            LAST="$LINE"
        fi
    done
}
1
27.01.2020, 20:52

Теги

Похожие вопросы