Удаление старой директории

Это значение устанавливается Suricata. Он использует "max-pending-packets" из вашего suricata.yaml и умножает его на 4

int r = NFQInitThread(ntv, (max_pending_packets * NFQ_BURST_FACTOR));
if (r != TM_ECODE_OK) {

, где NFQ_BURST_FACTOR равно 4. См. https://github.com/inliniac/suricata/blob/71a3c4caac22b475c09ee2f082cr011d443 -nfq.c # L712

Вы можете увеличить значение в вашем suricata.yaml. Если вы установите max-pending-packets равным 4096, вы должны получить результат, подобный следующему:

[6146] 7/6/2016 -- 20:31:12 -  -- binding this thread 0 to queue '0'
[6146] 7/6/2016 -- 20:31:12 -  -- setting queue length to 16384

Еще одна вещь, которую вы можете попробовать, - включить поддержку 'fail open'. Это означает, что на стороне ядра NFQ передает пакеты, когда Suricata не успевает за ними. Однако это приводит к риску безопасности, так как некоторые пакеты не будут проверяться.

Из suricata.yaml:

# On linux >= 3.6, you can set the fail-open option to yes to have the kernel
# accept the packet if suricata is not able to keep pace.
nfq:
#  mode: accept
#  repeat-mark: 1
#  repeat-mask: 1
#  route-queue: 2
#  batchcount: 20
#  fail-open: yes

Если вы раскомментируете последнее открытие, будет включена поддержка открытия при отказе.

Я определенно рекомендую увеличить длину очереди перед включением функции открытия при сбое.

1
09.06.2018, 12:41
1 ответ

La utilidad dateen macOS (que supongo que está utilizando a juzgar por la ubicación de los directorios de inicio del usuario )no es GNU datey, por lo tanto, no es compatible con todas sus funciones.

Esto significa que su variable OLD_BACKUPestará vacía (y debería ver un mensaje de error cuando se ejecuta date), lo que a su vez significa que es el directorio ${BACKUP_DEST[$i]}el que se elimina.

En su lugar, puede usar date -v -3d +'%d-%m-%Y'.

#!/bin/bash

set -e

backup_dest=(
    '/Users/christopherdavies/Desktop/rsync/test1.co.uk'
    '/Users/christopherdavies/Desktop/rsync/test2.co.uk'
)

when=$( date -v -3d +'%d-%m-%Y' )

for backup in "${backup_dest[@]}"; do
    [ -d "$backup/$when" ] && rm -Rf "$backup/$when"
done

Alternativamente, instale GNU coreutils y use GNU date.

Otros cambios realizados en su código:

  • Eliminado exit 0del final y agregado set -e. Si el script falla, querrá poder notarlo.

  • No se usó la matriz del sitio web.

  • Recorra los elementos de la matriz en lugar de usar índices, es más fácil de leer.

  • Si desea una declaración simple ifde una sola línea, puede usar la sintaxis de cortocircuito en su lugar (, que es más corta ).

  • Use minúsculas -nombres de variables de mayúsculas y minúsculas.

  • Citar siempre expansiones variables.

  • Es un script bash, por lo que debe hacer referencia a bashen la línea #!-.

3
28.04.2021, 23:45

Теги

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