Статический IP и аренда DHCP в dnsmasq?

Пока у вашего findесть опция -mmin, вы можете:

Использование сценария оболочки:

#!/bin/sh

files_dir=/tmp
file_count=$(find "$files_dir" -name 'ci_session*' -mmin 60 -exec echo x \; | wc -l)

if [ "$file_count" -gt 1000 ]; then
    find "$files_dir" -name 'ci_session*' -mmin 60 -exec rm {} \;
fi

file_countбудет установлено на количество файлов, найденных в указанном каталоге, соответствующих шаблону.

Если file_countбольше 1000, мы снова запустим поиск и удалим эти файлы.


С помощью bash мы можем исключить второй вызов find с массивом:

#!/bin/bash

files_dir=/tmp
mapfile -t files < <(find "$files_dir" -name 'ci_session*' -mmin 60)

if ((${#files[@]}>1000)); then
    rm "${files[@]}"
fi

Примечание :В зависимости от того, сколько файлов вы ожидаете иметь, решение bash может столкнуться с вашим аргументом командной строки limit .

0
08.06.2020, 00:38
0 ответов

Теги

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