<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta name="description" content="AWStats Documentation - Other tools"> <meta name="keywords" content="awstats, awstat, tools, utilities, awstats_buildstaticpages, logresolvemerge, common2combined"> <meta name="robots" content="index,follow"> <meta name="title" content="AWStats Documentation - Other tools"> <title>AWStats Documentation - Other tools</title> <link rel="stylesheet" href="styles.css" type="text/css"> <!-- $Revision: 1.45 $ - $Author: eldy $ - $Date: 2008/09/29 19:28:22 $ --> </head> <body topmargin=10 leftmargin=5> <table style="font: 10pt arial,helvetica,verdana" cellpadding=0 cellspacing=0 border=0 bgcolor=#FFFFFF width=100%> <!-- Large --> <tr style="font: 10pt arial,helvetica,verdana"> <td bgcolor=#9999cc align=center><a href="/"><img src="images/awstats_logo4.png" border=0></a></td> <td bgcolor=#9999cc align=center> <br> <font style="font: 16pt arial,helvetica,sans-serif" color=#EEEEFF><b>AWStats logfile analyzer 6.9 Documentation</b></font><br> <br> </td> <td bgcolor=#9999cc align=center> </td> </tr> </table> <br><br><H1 style="font: 26px arial,helvetica,sans-serif">Other utilities</H1> <br> This is a list of other tools provided with AWStats.<br> All those tools are available in <b>tools</b> directory of AWStats distribution.<br> <br><br> <!-- <br> <br><a name="awstats_configure"><H2 style="font: 18px arial,helvetica,sans-serif color: #606060"><u>awstats_configure.pl</u></H2></a> <br>This script creates one config file for each web servers provided by Apache. <br>After running this tool, AWStats can immediatly be used.<br> <br> <br> This tool is not yet available... <br> <br> --> <br> <br><a name="awstats_updateall"><H2 style="font: 18px arial,helvetica,sans-serif color: #606060"><u>awstats_updateall.pl</u></H2></a> <br>awstats_updateall launches update process for all AWStats config files (except <br>awstats.model.conf) found in a particular directory, so you can easily setup a <br>cron/scheduler job. The scanned directory is by default /etc/awstats. <br> <br>Usage: awstats_updateall.pl now [options] <br> <br>Where options are: <br> -awstatsprog=pathtoawstatspl <br> -configdir=confdirtoscan <br> <br> <br> <br><a name="awstats_buildstaticpages"><H2 style="font: 18px arial,helvetica,sans-serif color: #606060"><u>awstats_buildstaticpages.pl</u></H2></a> <br>awstats_buildstaticpages allows you to launch AWStats with -staticlinks option <br>to build all possible pages allowed by AWStats -output option. <br> <br>Usage: <br>awstats_buildstaticpages.pl (awstats_options) [awstatsbuildstaticpages_options] <br> <br> where awstats_options are any option known by AWStats <br> -config=configvalue is value for -config parameter (REQUIRED) <br> -update option used to update statistics before to generate pages <br> -lang=LL to output a HTML report in language LL (en,de,es,fr,...) <br> -month=MM to output a HTML report for an old month=MM <br> -year=YYYY to output a HTML report for an old year=YYYY <br> <br> and awstatsbuildstaticpages_options can be <br> -awstatsprog=pathtoawstatspl gives AWStats software (awstats.pl) path <br> -dir=outputdir to set output directory for generated pages <br> -builddate=%YY%MM%DD Used to add build date in built pages filenames <br> -staticlinksext=xxx For pages with .xxx extension instead of .html <br> -buildpdf[=pathtohtmldoc] Build a PDF file after building HTML pages. <br> Output directory must contains icon directory <br> when this option is used (need 'htmldoc'). <br> <br>New versions and FAQ at http://awstats.sourceforge.net <br> <br> <br> <br><a name="logresolvemerge"><H2 style="font: 18px arial,helvetica,sans-serif color: #606060"><u>logresolvemerge.pl</u></H2></a> <br>logresolvemerge allows you to merge several log files into one output, <br>sorted on date. It also makes a fast reverse DNS lookup to replace <br>all IP addresses into host names in resulting log file. <br>logresolvemerge comes with ABSOLUTELY NO WARRANTY. It's a free software <br>distributed with a GNU General Public License (See COPYING.txt file). <br>logresolvemerge is part of AWStats but can be used alone as a log merger <br>or resolver before using any other log analyzer. <br> <br>Usage: <br> logresolvemerge.pl [options] file <br> logresolvemerge.pl [options] file1 ... filen <br> logresolvemerge.pl [options] *.* <br>Options: <br> -dnslookup make a reverse DNS lookup on IP adresses <br> -dnscache=file make DNS lookup from cache file first before network lookup <br> -showsteps print on stderr benchmark information every 8192 lines <br> -addfilenum if used with several files, file number can be added in first <br> field of output file. <br> <br>This runs logresolvemerge in command line to open one or several web <br>server log files to merge them (sorted on date) and/or to make a reverse <br>DNS lookup (if wanted). The result log file is sent on standard output. <br>Note: logresolvemerge is not a 'sort' tool to sort one file. It's a <br>software able to output sorted log records (with a reverse DNS lookup <br>included or not) even if log records are dispatched in several files. <br>Each of thoose files must be already independently sorted itself <br>(but that is the case in all web server log files). So you can use it <br>for load balanced log files or to process several old log files. <br> <br>Don't forget that the main goal of logresolvemerge is to send log records to <br>a log analyzer in a sorted order without merging files on disk (NO NEED <br>OF DISK SPACE AT ALL) and without loading files into memory (NO NEED <br>OF MORE MEMORY). Choose of output records is done on the fly. <br> <br>So logresolvemerge is particularly useful when you want to output several <br>and/or large log files in a fast process, with no use of disk or <br>more memory and in a chronological order through a pipe (to be used by a log <br>analyzer. <br> <br>Note: If input records are not 'exactly' sorted but 'nearly' sorted (this <br>occurs with heavy servers), this is not a problem, the output will also <br>be 'nearly' sorted but a few log analyzers (like AWStats) knowns how to deal <br>with such logs. <br> <br>WARNING: If log files are old MAC text files (lines ended with CR char), you <br>can't run this tool on Win or Unix platforms. <br> <br>WARNING: Because of important memory holes in ActiveState Perl version, use <br>another Perl interpreter if you need to process large log files. <br> <br>Now supports/detects: <br> Automatic detection of log format <br> Files can be .gz/.bz2 files if zcat/bzcat tools are available in PATH. <br>New versions and FAQ at http://awstats.sourceforge.net <br> <br> <br> <br><a name="maillogconvert"><H2 style="font: 18px arial,helvetica,sans-serif color: #606060"><u>maillogconvert.pl</u></H2></a> <br>maillogconvert is mail log preprocessor that convert a mail log file (from <br>postfix, sendmail or qmail servers) into a human readable format. <br>The output format is also ready to be used by a log analyzer, like AWStats. <br> <br>Usage: <br> perl maillogconvert.pl [standard|vadmin] [year] < logfile > output <br> <br>The first parameter specifies what format the mail logfile is : <br> standard - logfile is standard postfix,sendmail,qmail or mdaemon log format <br> vadmin - logfile is qmail log format with vadmin multi-host support <br> <br>The second parameter specifies what year to timestamp logfile with, if current <br>year is not the correct one (ie. 2002). Always use 4 digits. If not specified, <br>current year is used. <br> <br>If no output is specified, it goes to the console (stdout). <br>For example, the following sample from postfix mail log server: <br> <i> <br># 1 Mail fromuser@aol.com -> touser@toserver.com, forward touser@toserver.com -> touser@mainserver.com <br>Jan 01 07:27:31 apollon postfix/smtpd[1684]: connect from remt30.cluster1.charter.net[209.225.8.40] <br>Jan 01 07:27:32 apollon postfix/smtpd[1684]: 2BC793B8A4: client=remt30.cluster1.charter.net[209.225.8.40] <br>Jan 01 07:27:32 apollon postfix/cleanup[1687]: 2BC793B8A4: message-id=<36027278@vneka> <br>Jan 01 07:27:32 apollon postfix/qmgr[13860]: 2BC793B8A4: from=<fromuser@aol.com>, size=2130, nrcpt=1 (queue active) <br>Jan 01 07:27:32 apollon postfix/smtpd[1684]: disconnect from remt30.cluster1.charter.net[209.225.8.40] <br>Jan 01 07:27:38 apollon postfix/local[1689]: 2BC793B8A4: to=<touser@mainserver.com>, orig_to=<touser@toserver.com>, relay=local, delay=6, status=sent ("|/usr/bin/procmail") <br># 2 Reject: 450 <br>Jan 01 14:05:44 apollon postfix/smtpd[2114]: connect from baby.mainframe.nl[81.29.4.2] <br>Jan 01 14:05:44 apollon postfix/smtpd[2114]: E0C9D3BD9A: client=baby.mainframe.nl[81.29.4.2] <br>Jan 01 14:05:44 apollon postfix/smtpd[2114]: E0C9D3BD9A: reject: RCPT from baby.mainframe.nl[81.29.4.2]: 450 <touser2@toserver.com>: User unknown in local recipient table; from=<> to=<touser2@toserver.com> proto=ESMTP helo=<baby.mainframe.nl> <br>Jan 01 14:10:16 juni postfix/smtpd[2568]: C34ED1432B: reject: RCPT from relay2.tp2rc.edu.tw[163.28.32.177]: 450 <unknownuser@unknownserver.com>: User unknown in local recipient table; from=<> proto=ESMTP helo=<rmail.nccu.edu.tw> <br># 1 From unknown <br>Jan 01 15:17:05 apollon postfix/smtpd[29866]: connect from tomts12.bellnexxia.net[209.226.175.56] <br>Jan 01 15:17:05 apollon postfix/smtpd[29866]: 578093B8B5: client=tomts12.bellnexxia.net[209.226.175.56] <br>Jan 01 15:17:05 apollon postfix/cleanup[28931]: 578093B8B5: message-id=<20030905131913.EOVH11393.tomts12-srv.bellnexxia.net@tomts12-srv> <br>Jan 01 15:17:06 apollon postfix/qmgr[965]: 578093B8B5: from=<>, size=109367, nrcpt=1 (queue active) <br>Jan 01 15:17:06 apollon postfix/local[32432]: 578093B8B5: to=<touser@mainserver.com>, orig_to=<touser@toserver.com>, relay=local, delay=1, status=sent ("|/usr/bin/procmail") <br>Jan 01 15:17:06 apollon postfix/smtpd[29866]: disconnect from tomts12.bellnexxia.net[209.226.175.56] </i> <br> <br>will give a file that looks like this: <br> <i> <br>2004-01-01 07:27:38 fromuser@aol.com touser@toserver.com remt30.cluster1.charter.net localhost SMTP - 1 2130 <br>2004-01-01 14:05:44 <> touser2@toserver.com baby.mainframe.nl - SMTP - 450 0 <br>2004-01-01 14:10:16 <> unknownuser@unknownserver.com relay2.tp2rc.edu.tw - SMTP - 450 0 <br>2004-01-01 15:17:06 <> touser@toserver.com tomts12.bellnexxia.net localhost SMTP - 1 109367 </i> <br> <br>See <a href="awstats_faq.html#MAIL">FAQ-COM100</a> to see how to use maillogconvert.pl with AWStats to analyze mail log files. <br> <br> <br> <br> <br><a name="urlaliasbuilder"><H2 style="font: 18px arial,helvetica,sans-serif color: #606060"><u>urlaliasbuilder.pl</u></H2></a> <br>Urlaliasbuilder generates an 'urlalias' file from an input file. <br>The input file must contain a list of URLs (It can be an AWStats history file). <br>For each of thoose URLs, the script get the corresponding HTML page and catch the <br>header information (title), then it writes an output file that contains one line <br>for each URLs and several fields: <br>- The first field is the URL, <br>- The second is title caught from web page. <br>This resulting file can be used by AWStats urlalias plugin. <br> <br>Usage: urlaliasbuilder.pl -site=www.myserver.com [options] <br> <br>The site parameter contains the web server to get the page from. <br>Where options are: <br> -urllistfile=Input urllist file <br> If this file is an AWStats history file then urlaliasbuilder will use the <br> SIDER section of this file as its input URL's list. <br> -urlaliasfile=Output urlalias file to build <br> -overwrite Overwrite output file if exists <br> -secure Use https protocol <br> <br>Example: urlaliasbuilder.pl -site=www.someotherhost.com <br> <br>New versions and FAQ at http://awstats.sourceforge.net <br> <br>This script was written from Simon Waight original works title-grabber.pl. <br> <br> <br> <hr> <script language=javascript> var date='$Date: 2008/09/29 19:28:22 $'; document.writeln("Last revision: "+date); </script> </body> </html>