Как получить сводку access_log по goaccess, начиная с определенной даты?
В настоящее время я держу 6 недель apache access_log. Если я создаю сводку доступа в конце месяца:
cat /var/log/httpd/access_log* | goaccess --output-format=csv
резюме будет включать некоторые данные о доступе за предыдущий месяц.
Как я могу пропустить журналы предыдущего месяца и подвести итоги с первого дня месяца?
ps формат данных: %d/%b/%Y
1 ответ
Вы можете торговать бесполезным использованием cat
для полезного grep
,
grep -n $(date +'[0-3][0-9]/%b/%Y') /var/log/httpd/access_log* |
goaccess --output-format=csv
Если журналы датированы датой, было бы намного экономичнее пропустить журналы, которые, как вы знаете, слишком старые или слишком новые, то есть изменить аргумент с подстановочными знаками, чтобы вы соответствовали только тем файлам, которые вам действительно нужны (или запускаете что-то вроде find -mtime -30
хотя бы сузить набор до нескольких файлов).
(The cat
бесполезно, потому что, если goaccess
вообще правильно написано, он должен уметь справляться
goaccess --output-format=csv /var/log/httpd/access_log*
просто хорошо.)