#!/usr/bin/perl # # wl-bc - web server log byte counter # # For every entry in the web server log given on STDIN, add to a total number # of bytes transferred. Output the total bytes transferred. # # This and other hacks can be found at: http://oddgeek.info/ # # Copyright (c) 2005 Jason A. Dour # # This software is provided 'as-is', without any express or implied warranty. # In no event will the authors be held liable for any damages arising from the # use of this software. # # Permission is granted to anyone to use this software for any purpose, # including commercial applications, and to alter it and redistribute it # freely, subject to the following restrictions: # # 1. The origin of this software must not be misrepresented; you must not # claim that you wrote the original software. If you use this software in a # product, an acknowledgment in the product documentation would be # appreciated but is not required. # # 2. Altered source versions must be plainly marked as such, and must not # be misrepresented as being the original software. # # 3. This notice may not be removed or altered from any source # distribution. # # # Version Information # # 1.0 2005.05.26 # # Put in comments. Cleaned up formatting. # # primordial ooze # # Used every once in a while to confirm total bytes sent for my websites. # Was tired of doing this on command line. # # Total number of bytes sent. $totalbytes = 0; # Loop for every web log entry on STDIN... while () { # Parsing the entry... /^(\S+) (\S+) (\S+) \[(.+)\] \"(.+)\" (\S+) (\S+) \"(.+)\" \"(.+)\"/; # Adding the bytes sent to the total. $totalbytes += $7; } # Output the total to the user. print "$totalbytes\n"; # We're done. Coup. exit(0);