Free Tools

I've created many command line utilities over the years to help me accomplish some particular task or another, many of them using the Perl scripting language.  I converted many of them to exe files so you can run them on Windows without having to worry about having Perl installed.  I hope you find at least one of them useful.

First, the standard disclaimer before downloading or using any of these free utilities:

DISCLAIMER AND LIMIT OF LIABILITY

KYLE HARRIS MAKES NO WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THIS SOFTWARE AND ACCOMPANYING DOCUMENTATION.  IN NO EVENT SHALL KYLE HARRIS BE LIABLE FOR ANY DAMAGES (INCLUDING DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OR INABILITY TO USE THIS SOFTWARE, EVEN IF KYLE HARRIS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

AS WITH ALL SOFTWARE, PLEASE TEST THIS SOFTWARE FIRST WITH NON-CRITICAL DATA!  THE USER MUST ASSUME THE ENTIRE RISK OF USING THE PROGRAM.

It has been noticed recently that if these utilities are downloaded using the Chrome web browser, you may get an error stating the file appears malicious.  This appears to be quite common.  Here is an article with others discussing the issue:

http://productforums.google.com/forum/#!category-topic/chrome/report-a-problem-and-get-troubleshooting-help/r-9JQIboUmc 

- - - - - - - - - -

XenServer Backup Script

See my blog post at the link below for details on a XenServer backup script I wrote.

http://www.nashville-linux-guy.com/index.php/blog/48-xenserver-backup-script

- - - - - - - - - -

Red Hat Enterprise Linux Updates Database

See my blog post at the link below for details on a way to track Red Hat Enterprise package updates needed in your environment via a MariaDB database and Perl script.

http://nashville-linux-guy.com/index.php/blog/41-red-hat-enterprise-linux-updates-database

- - - - - - - - - -

AddPDFs - Adds one or more Portable Document Format (PDF) files to a single, new PDF file.

  • Usage:  AddPDFs.exe SOURCE OUTPUT_FILE [OPTIONS]
    • SOURCE - The source PDF files to be combined (must have a PDF extension) separated by spaces.  Use . (a period) to add all PDF files in the current directory
    • OUTPUT_FILE - The name of the new PDF file to create.  May include only the new file name, or a path and the new file name.  Must have a PDF extension
  • OPTIONS:
    • --help or /? - This help screen

- - - - - - - - - -

DirSpace -  List the count and total size of all files in DIRECTORY and it's sub directories, totaled by directories 1 level under given DIRECTORY.

  • Usage:  DirSpace DIRECTORY [OPTIONS]
  • OPTIONS:
    • This email address is being protected from spambots. You need JavaScript enabled to view it. - E-mail results to this address as well as STDOUT
    • -s - Subject of e-mail message ENCLOSED IN QUOTES
    • -S - SMTP server to use
    • -f - SMTP address that message will come from
    • -t - SMTP addresses that message will go to (comma separated, no spaces)
    • -v - Verbose.  Shows current working directory while scanning
    • -help - This help screen
  • Examples:
    • DirSpace t:\projects -t This email address is being protected from spambots. You need JavaScript enabled to view it. -f This email address is being protected from spambots. You need JavaScript enabled to view it. -s "My Subject" -S smtp.mydomain.com
    • DirSpace t:\Home
    • DirSpace \\my_server\my_share\my_dir

- - - - - - - - - -

DupsBeGone - A simple command line executable that will check a given path (or paths) for duplicate files and then output them to the screen.  It considers any files that have the same name, size, time, and date to be a duplicates.  If only one path is given, that path alone will be searched for duplicate files.  Wonderful for use by administrators to see how many copies of the exact same file are located on their network drives.

  • USAGE:  DupsBeGone path1 [path2]  {give no arguments for instructions}
  • EXAMPLES:
    • DupsBeGone c:\temp
    • DupsBeGone c:\temp c:\junk
    • DupsBeGone c:\ > c:\dbgOutPut.txt  {redirects output to a file}

- - - - - - - - - -

FindLongPaths - Lists and optionally emails the results of all files in the ROOT directory that have a path longer than MAX_PATH_LENGTH.  I originally wrote this as I had some users at a site that would unzip files that were made to maintain the entire path of the files.  Then, they would do it again and again . . .  Eventually, some of the paths got longer than the operating system could handle and the backup software would skip the files as it didn't know how to handle the extremely long paths.  This utility helped me find the long paths.

  • Usage:  FindLongPaths ROOT MAX_PATH_LENGTH
  • OPTIONS:
    • ROOT - Root location to start search
    • MAX_PATH_LENGTH - Number equaling maximum path length to report
    • -s - Subject of e-mail message ENCLOSED IN QUOTES
    • -S - SMTP server to use
    • -f - SMTP address that message will come from
    • -t - SMTP addresses that message will go to (comma separated, no spaces)
    • -v - Verbose.  Shows current working directory while scanning
    • -help - This help screen
  • EXAMPLE:
    • FindLongPaths t:\projects 250 -t This email address is being protected from spambots. You need JavaScript enabled to view it. -f This email address is being protected from spambots. You need JavaScript enabled to view it. -s "My Subject" -S smtp.mydomain.com

- - - - - - - - - -

add_ldap_user.pl - A perl script that adds a user to an OpenLDAP server.  Prompts for first name, last name, and an email address.  It will generate a random password AND it will generate a new uidNumber using a variable at the bottom of the script.  Note that it increments the number inside the script itself so to operate properly, the script needs to be writable by the user that runs it.

- - - - - - - - - -

 nic_stats.pl - A simple perl script that outputs some basic network statistics from a network card on your Linux/Unix host.

- - - - - - - - - -

FileDates - Lists all files in the given DIRECTORY and it's subdirectories along with their last modified date. Optionally emails the report.

  • Usage:  FileDates -d DIRECTORY [OPTIONS]
  • OPTIONS:
    • -D - Maximum age in days of files to search for
    • -s - Subject of e-mail message ENCLOSED IN QUOTES
    • -S - SMTP server to use
    • -f - SMTP address that message will come from
    • -t - SMTP addresses that message will go to (comma separated, no spaces)
    • --help - This help screen
  • EXAMPLES:
    • FileDates -d :\projects -D 7 -t This email address is being protected from spambots. You need JavaScript enabled to view it. -f This email address is being protected from spambots. You need JavaScript enabled to view it. -s "My Subject" -S smtp.mydomain.com
    • FileDates -d \\my_server\my_share\my_dir