Skip to content

Latest commit

 

History

History
100 lines (96 loc) · 11.7 KB

README.md

File metadata and controls

100 lines (96 loc) · 11.7 KB

misc-scripts

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.

  • add_team_to_github_org_repos.py - Python script to add a given GitHub Team to all of the specified Organization's repositories.
  • 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.
  • asg_instances.py - Script to list instances in an ASG and their IP addresses, given an ASG name.
  • aws_subnet_available_ips.py - Print information on used and available IPs in an AWS subnet.
  • bigipcookie.pl - Perl script to de/encode F5 BigIp persistence cookies.
  • centos7_rpmbuild.Vagrantfile - Moved to https://github.com/jantman/rpmbuild-vagrant-boxes
  • 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
  • ec2-list-all-tags.py - Using boto3, list all distinct tag names on all EC2 instances in all regions.
  • 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.
  • find_test_order_problems.py - Script to run tests multiple times and analyze JUnit results XML, to find tests with order-dependent failures.
  • firefox_recovery_to_html.py - Script to convert Firefox profile sessionstore-backups/recovery.js to HTML links
  • get_addons.py - Unmaintained script to download WoW addons from CurseForge.
  • gist.py - Simple python script to upload a file as a private Gist on GitHub. Prompts interactively for Auth token, so usable from shared servers.
  • 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.
  • github_irc_hooks.py - script to setup GitHub repo IRC service hooks
  • github_label_setup.py - script to setup a given set of labels on all of your (or an org's) GitHub repos.
  • 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
  • jenkins_node_labels.py - Python script to list all Jenkins slaves/executors and their labels.
  • jenkins_plugins_to_puppet.py - Python script to query Jenkins for all installed plugins, and generate a block of Puppet code for the puppet-jenkins module.
  • jira2trello.py - 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
  • 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_all_aws_resources_skew.py - Script using skew to list all AWS resources in your account
  • 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
  • pushover - script to wrap execution of a command and send Pushover and notify-send notifications about its duration and exit code.
  • quick_cloudtrail.py - 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
  • 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.
  • route53_ddns_update.sh - Bash script to update Route53 dynamic DNS
  • 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
  • ruby_simplecov_diff.rb - Given two Ruby simplecov output directories, show the differences
  • s3sync_inotify.py - Python script using boto and pyinotify to watch a directory and sync all files in it to an S3 bucket, and update an index.html file for the bucket.
  • 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.
  • 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
  • tomtom_tsp.py - Script to take a list of TomTom WoW addon coordinates and output them in the optimal order.
  • toxit.py - Script to parse a tox.ini file, and run the test commands inside an existing virtualenv, against the code already installed there.
  • trello_push_due_dates.py - Script to push all due dates on a Trello board (optionally in one list) back by N days.
  • 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
  • watch_all_my_github_repos.py - Python script to ensure you're watching all of your own GitHub repos.
  • watch_cloudformation.py - Python script to watch a CloudFormation stack's events, and exit when the CF stack update or create finishes. Optional notification via PushOver.
  • watch_elasticsearch.py - Python script to watch an ElasticSearch cluster's status and exit/notify when the status changes. Optional notifivation via PushOver.
  • watch_jenkins.py - Python script using python-jenkins (https://pypi.python.org/pypi/python-jenkins) to watch a job (specified by URL), and exit 0 on success or 1 on failure. Optional notification via PushOver.
  • where_is_my_pi_zero.py - Python script to find in-stock Raspberry Pi Zero
  • 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