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.
- apache_log_verify_site_move.py - 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.
- bigipcookie.pl - Perl script to de/encode F5 BigIp persistence cookies.
- check_url_list.py - 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.
- cookies_from_pdml.py - Script to parse http Cookie header field from WireShark PDML XML.
- dashsnap.py - 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.
- disqus_backup.py - script to backup all Disqus comments for a site.
- dot_find_cycles.py - 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
- dumpMysqlGrants.sh - Script to dump all grants from a MySQL server, for input into another.
- dump_skype_logs.py - Script to dump all Skype logs from a main.db file to HTML
- find_outdated_puppets.py - 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.
- firefox_recovery_to_html.py - Script to convert Firefox profile sessionstore-backups/recovery.js to HTML links
- git_repo_diff.py - 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
- github_clone_setup.py - script using github3.py to add upstream remote for any clone of a github fork, and add refs to check out pull requests from origin and upstream.
- har_urls.py - 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
- htmldata.py - 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
- 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
- libvirt_csv.py - 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
- linode_ddns_update.sh - 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
- linode_list_records.py - Simple script to list all records in Linode DNS via API, along with their type, DomainID and ResourceID
- list_github_org_repos.py - List information about an org's repositories using PyGithub (GitHub API library)
- make_puppet_param_markdown.py - # 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
- nagios_log_problem_interval.pl - 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
- print-cmd.sh - 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
- README.VCS - Note on my CVS/SVN to github migration
- rebuild_srpm.sh - 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_reminder_mail.py - ReviewBoard - Script to send reminder emails for any open reviews, targeted at a specific group, not updated in more than X days.
- rss_to_mail_config.py - sample configuration file for rss_to_mail.py
- rss_to_mail.py - 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
- savescreen.py - Python script to save screen windows and titles, and write a screenrc to recreate them.
- scrape_domain.py - Python script using requests and BeautifulSoup4 to request all URLs/links/images/CSS/feeds/etc. found on a domain.
- show_cf_template_params.py - Show all parameters and their defaults for a CloudFormation template
- show_dhcp_fixed_ACKs.pl - 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
- simpleLCDproc.py - Simple LCDproc replacement in Python. Uses LCDd server.
- skeleton.py - Skeleton of a one-off Python CLI script, including optparse and logging.
- sync_git_clones.sh - WIP / Alpha - Script to sync all local git clones in a list of paths with origin (and upstream, if configured). If present, uses github_clone_setup.py to setup upstream branches for any GitHub forks, and set refs to check out pull requests from origin and upstream. Optionally, if an upstream repo is present, resets your master to upstream master and pushes the result to origin (i.e., automatic sync with upstream).
- sync_git_clones.conf - config file for sync_git_clones.sh
- 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
- test_libvirt.py - some tests using the libvirt python bindings, for qemu+kvm hosts accessed over SSH
- timeout - shell script to execute a command with a timeout
- twitter_find_followed_not_in_list.py - 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.
- VipToInternalHosts.pl - script to take F5 BigIp VIP address and display the members of the pool it is served by
- wiki-to-deckjs.py - 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