Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A collection of scripts that I've written
Python PHP Perl Shell C
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
README.VCS adding README.VCS prior to move to GitHub add_team_to_github_org_repos
dumpFirefoxSession.php make sure everything in this repo has a correct URL to the current sc… add migrate gitlab scripts to
kickRsyslog.php make sure everything in this repo has a correct URL to the current sc…
reconcile_git_repos.html.tmpl example config
rsync-wrapper.c make sure everything in this repo has a correct URL to the current sc…
rsyslogPstats.php appears to be working now
sync_git_clones.conf adding WIP - should probably be converetd over to …


Project Status: Active - The project has reached a stable, usable state and is being actively developed.

This is a collection of miscellaneous scripts that I've written or modified for my use. Hopefully they may be of some use to others. When I get a chance, I'll try and update this readme with descriptions of all of the scripts.

Unless otherwise noted, these are distributed under the terms of the LICENSE file.

  • - Python script to add a given GitHub Team to all of the specified Organization's repositories.
  • - Python script that parses Apache HTTPD access logs, finds all unique URLs, and compares the current HTTP response code to that of another server. Useful when moving a site.
  • - Perl script to de/encode F5 BigIp persistence cookies.
  • centos7_rpmbuild.Vagrantfile - Moved to
  • - Script to check a list of URLs (passed on stdin) for response code, and for response code of the final path in a series of redirects.
  • cmd-wrapper.c - C wrapper for a setuid/gid command, to ensure that ONLY a certain command and args can be run.
  • collectRsyslogInfo.php - Script to collect information on a crashed/hung rsyslogd process, and log it all somewhere.
  • - Script to parse http Cookie header field from WireShark PDML XML.
  • - script to snapshot a graphite dashboard at specified intervals in the past (i.e. the last 2,4,6 hours) or a single specified time range. Snapshots both PNG images and raw JSON data, builds directory with HTML files.
  • - script to backup all Disqus comments for a site.
  • - uses Pydot and NetworkX to find cycles in a dot file directed graph (i.e. the graph output of Puppet)
  • dumpFirefoxSession.php - Script to dump all URLs from a Firefox3 sessionstore.js file as text or HTML
  • - Script to dump all grants from a MySQL server, for input into another.
  • - Script to dump all Skype logs from a main.db file to HTML
  • - Script to look at a Puppet Dashboard unhidden-nodes.csv and extract the latest report time for each node, optionally, list nodes with runtime BEFORE a string.
  • - Script to run tests multiple times and analyze JUnit results XML, to find tests with order-dependent failures.
  • - Script to convert Firefox profile sessionstore-backups/recovery.js to HTML links
  • - Unmaintained script to download WoW addons from CurseForge.
  • - Simple python script to upload a file as a private Gist on GitHub. Prompts interactively for Auth token, so usable from shared servers.
  • - uses GitPython to compare 2 git repo clones and report on branches that only exist in one, or have different head commits in the two repos
  • - script using to add upstream remote for any clone of a github fork, and add refs to check out pull requests from origin and upstream.
  • - script to setup GitHub repo IRC service hooks
  • - script to setup a given set of labels on all of your (or an org's) GitHub repos.
  • - Script to dump all URLs and their status codes from a JSON HTTP Archive (HAR) file, such as those generated by the Firebug NetExport extension
  • - Perl library to manipulate HTML or XHTML documents, required by mw2html-auth
  • increment_zone_serial - This script updates/increments the bind zone file serial number in a file specified as the first argument
  • ismerged - shell script that takes a git branch name, and tells if it is merged into master or not
  • - Python script to list all Jenkins slaves/executors and their labels.
  • - Python script to query Jenkins for all installed plugins, and generate a block of Puppet code for the puppet-jenkins module.
  • - Python script to update a Trello board with some details from Jira.
  • js2phpdoc.php - script to take comments and function prototypes from JS files and make them PHP-ish to be parsed by phpdoc
  • kickRsyslog.php - script to restart rsyslog if it appears to have stopped logging
  • - Use libvirt python bindings to print CSV lists of dom0_host,domU_name,ID,state,UUID for all qemu+kvm VMs running on libvirt hosts passed in as arguments
  • LICENSE - License for these files - GPLv3 with additional provisions
  • - simple script to use Linode's HTTP API to update Linode DNS for a dynamic IP
  • linodeDnsToCsv.php - Script to pull DNS information for all of your Linode hosted zones, output as CSV
  • - Simple script to list all records in Linode DNS via API, along with their type, DomainID and ResourceID
  • - List information about an org's repositories using PyGithub (GitHub API library)
  • - # Python script to generate MarkDown docblock fragment for all parameters of a Puppet parameterized class or define. Simple, naive regex matching. Assumes you style your manifests properly.
  • mw2html-auth - Produce an HTML version (standalone backup/export) of a MediaWiki site that's behind authentication
  • - Chart intervals between problem and recovery from Nagios/Icinga logs
  • nmap-xml-to-table.php - Script to transform multiple nmap XML output files (presumably of the same host/port range with different scan options) into a HTML table
  • - Simple script to log environment variables and original command for forced ssh commands
  • print-cmd-wrapper.c - C wrapper like cmd-wrapper.c, but just echoes back the command that was called
  • pushover - script to wrap execution of a command and send Pushover and notify-send notifications about its duration and exit code.
  • - Python script to parse AWS CloudTrail log JSON files and search for a user, IP, request ID, etc.
  • README.VCS - Note on my CVS/SVN to github migration
  • - Script to rebuild a SRPM 1:1, useful when you want to build a RHEL/CentOS 6 SRPM on a RHEL/CentOS 5 system that doesn't support newer compression (cpio: MD5 sum mismatch)
  • - ReviewBoard - Script to send reminder emails for any open reviews, targeted at a specific group, not updated in more than X days.
  • - Bash script to update Route53 dynamic DNS
  • - sample configuration file for
  • - Dead simple python script to find new entries in an RSS feed, and email listing of new entries matching a regex to you. Intended to be run via cron.
  • rsync-wrapper.c - setuid/gid wrapper around rsync. Useful to allow members of a specified group to do rsync backups as root over SSH.
  • rsyslogIsHung.php - script to investigate rsyslog hangs, write output, and send mail
  • rsyslogPstats.php - script to parse rsyslog impstats output and generate a simple report
  • - Python script to save screen windows and titles, and write a screenrc to recreate them.
  • - Python script using requests and BeautifulSoup4 to request all URLs/links/images/CSS/feeds/etc. found on a domain.
  • - Show all parameters and their defaults for a CloudFormation template
  • - script to show the most recent DHCP ACKs per IP address for ISC DHCPd, from a log file. Originally written for Vyatta routers that just show the dynamic leases
  • - Simple LCDproc replacement in Python. Uses LCDd server.
  • - Skeleton of a one-off Python CLI script, including optparse and logging.
  • - WIP / Alpha - Script to sync all local git clones in a list of paths with origin (and upstream, if configured). If present, uses to setup upstream branches for any GitHub forks, and set refs to check out pull requests from origin and upstream.
  • sync_git_clones.conf - config file for
  • syslogAgeChecker.php - script to check timestamp of last syslog line in some files, and send mail if >= X seconds
  • syslogDatesGraph.php - script to help visualize time distribution of syslog messages. This is the graph host part.
  • syslogDatesToArray.php - script to help visualize time distribution of syslog messages. This is the log host part.
  • syslogDatesToArray-sample.ser - example serialized data for syslogDatesGraph.php
  • - some tests using the libvirt python bindings, for qemu+kvm hosts accessed over SSH
  • timeout - shell script to execute a command with a timeout
  • - Script to take a list of TomTom WoW addon coordinates and output them in the optimal order.
  • - Simple script to list anyone whom you're following but isn't in one of your lists.
  • ubiquiti-mac-acl/ - PHP script and MySQL schema to manage the MAC ACL on Ubiquiti AirOS2 devices.
  • - script to take F5 BigIp VIP address and display the members of the pool it is served by
  • - Python script to ensure you're watching all of your own GitHub repos.
  • - Python script to watch a CloudFormation stack's events, and exit when the CF stack update or create finishes. Optional notification via PushOver.
  • - Python script to watch an ElasticSearch cluster's status and exit/notify when the status changes. Optional notifivation via PushOver.
  • - Python script using python-jenkins ( to watch a job (specified by URL), and exit 0 on success or 1 on failure. Optional notification via PushOver.
  • - simple, awful script to change markdown-like (very restricted markup set) markup to deck.js-ready html
  • wordpress_daily_post.php - Script to publish the oldest post with a given status, if no other post has been published in 24 hours. Intended to be run via cron on weekdays
Something went wrong with that request. Please try again.