AutoFS — сценарий Bash для проверки активности монтирования перед продолжением или выходом.

Использование bash, grepиawk:

Вот как вы получаете все IP-номера, коррелирующие с файлом page1.html:

awk '/page1\.html/ { print $2 }' log

Для примера данных это выведет 12.34.56.78.

Это можно использовать для получения всех записей журнала, содержащих этот IP-адрес.:

grep -wF -f <( awk '/page1\.html/ { print $2 }' log ) log

В качестве шаблона используется результат команды awkи второй раз сканируется файл журнала для вывода всех строк, содержащих этот IP-адрес. Это возвращает первую и последнюю строку из примера.

Флаги -wи -Fдля grepиспользуются, чтобы указать grepинтерпретировать шаблон (IP-адрес )как фиксированную строку(-F)и возвращать только строки который содержит эту строку как целое слово(-w). Это означает, что 12.34.56.789не будет соответствовать шаблону фиксированной строки 12.34.56.78.

Из этого результата мы можем удалить строки, относящиеся к page1.htmlс помощью

grep -wF -f <( awk '/page1\.html/ { print $2 }' log ) log | grep -vF 'page1.html'

Теперь у вас есть все записи журнала, созданные посетителями страницы page1.html(, но не включая саму страницу page1.html).

Если вы хотите получить записи для конкретной другой страницы, измените последнюю grep -vF 'page1.html'на grep -F 'otherpage.html'.


Я почти уверен, что есть более надежные инструменты для разбора и анализа журналов, но если они и есть, то я о них не знаю (Я не очень часто занимаюсь разбором журналов ).

1
31.12.2019, 04:22
1 ответ

Как указано на странице Autofs на ubuntu.con

Auto-mounts are mounted only as they are accessed, and are unmounted after a period of inactivity

Итак, первый шаг (после создания конфигурации autofs, которая работает! -)— доступ к требуемой точке монтирования

Я использую точку монтирования вот так:

# try to change directory (or ls) to auto-mount if not yet mounted
cd /mnt/Backups/ > /dev/null 2>&1
# check if mounted:
if mountpoint -q /mnt/Backups/; then
    echo "Destination reachable. Continuing..."
else
    echo "Destination unreachable. Exiting."
fi

вы можете заменить cd на ls(или, возможно, лучшее решение? )если вы хотите остаться в текущем каталоге

0
27.01.2020, 23:55

Теги

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