Как мне заставить AWstats анализировать старые файлы журналов?
У меня много старых файлов журналов (apache), и они охватывают 3 разных сервера VPS, которые у меня были, поэтому существуют разные наборы с тем же именем:
старый vps 1 (январь 2012 - март 2012) → access.log.1.gz
старый vps 2 (апрель 2012 г. - октябрь 2012 г.) → access.log.1.gz
и т.д..
Есть ли команда awstats, которая будет анализировать ВСЕ старые файлы журналов и генерировать отчеты с правильными датами? Нужно ли ругать файлы или переименовывать их, прежде чем я смогу запустить команду?
Ответы
Ответ 1
Вы можете использовать инструмент logresolvemerge.pl
(см. FAQ-COM350). Либо вы изменяете опцию LogFile
в файле .conf
, либо (для однократного запуска) используйте ее как аргумент в обновлении.
LogFile="/path/to/logresolvemerge.pl access.log* |"
Пример (в системе на основе debian) для обновления командной строки:
/usr/lib/cgi-bin/awstats.pl -update -config="example.com" -LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/log/apache2/access.log* |"
Примечание. Возможно, вам необходимо очистить существующие статистические данные. См. FAQ-COM500.
Ответ 2
Если вам нужна версия для Windows для командной строки или файла конфигурации сайта, вы можете использовать точно такой же стиль синтаксиса:
LogFile="C:/WebRoot/MYSITE~1/traffic/aws/tools/logresolvemerge.pl C:/MYPROG~1/Apache24/logs/access/access_log.* |"
Обратите внимание на использование коротких имен DOS для папок с пробелами. Вы можете получить короткие имена DOS для файла или папки с помощью команды dir/x
из командной строки (приглашение DOS).
Ответ 3
В Windows мне пришлось использовать следующую запись: (добавлено "PERL", путь к моей папке установки и включить *.log перед трубой)
LogFile = "PERL C:/AWSTATS/tools/logresolvemerge.pl C:/AWSTATS/wwwroot/cgi-bin/stats/logFiles/*. log |"