Skip to content

Instantly share code, notes, and snippets.

@evandhoffman
evandhoffman / 000_cache.conf
Last active March 11, 2016 17:10
nginx cache config
proxy_cache_path /var/lib/nginx/cache/staticfiles levels=1:2 keys_zone=staticfilecache:10m max_size=50m;
proxy_cache_path /var/lib/nginx/cache/php levels=2:2 keys_zone=php:10m inactive=20m max_size=50m;
proxy_temp_path /var/lib/nginx/proxy;
proxy_connect_timeout 30;
proxy_read_timeout 120;
proxy_send_timeout 120;
#IMPORTANT - this sets the basic cache key that's used in the static file cache.
proxy_cache_key "$scheme://$host$request_uri";
@evandhoffman
evandhoffman / nginx.conf
Last active August 29, 2015 14:08 — forked from thoop/nginx.conf
# Change YOUR_TOKEN to your prerender token and uncomment that line if you want to cache urls and view crawl stats
# Change example.com (server_name) to your website url
# Change /path/to/your/root to the correct value
server {
listen 80;
server_name example.com;
root /path/to/your/root;
index index.html;
@evandhoffman
evandhoffman / poodle_audit.sh
Last active August 29, 2015 14:07
Update all ELBs to address POODLE
#/bin/bash
# To audit, I tried the bash script here https://gist.github.com/aastaneh/46ceb03150e5284b8a3a but it didn't work,
# so here's my version. It doesn't attempt to check internal ELBs (prefixed with 'internal').
for ELB in $( aws elb describe-load-balancers | grep DNSName | awk '{ print $2 }' | perl -ne 'chomp; $_ =~ /\"([\w-\.]+)\",/; my $elb = $1; print "$elb " unless $elb =~ /^internal/'); do
echo "$ELB ";
echo "01 logout" | openssl s_client -ssl3 -connect $ELB:443 2>&1 | grep DONE &> /dev/null
if [[ "$?" -ne "1" ]]; then
echo FAIL
else

What is it?

It's a script that renames all your EBS volumes to the name+device of the EC2 instance they're attached to. It also applies the "environment" tag to each volume, read from the instance. (I use the 'environment' tag in billing reports.)

So if your instance's "Name" tag is backend-1234.prod.example.com and the volume is mapped to /dev/sdh, this script would apply the tag Name=backend-1234-prod-example-com-dev-sdh to the volume, and set the environment tag to match the instance's.

@evandhoffman
evandhoffman / gist:c22f0f3b9cfe8c906fbf
Last active August 29, 2015 14:05
Tag all EBS volumes in a VPC

Get list of instances in the VPC:

[evan@Evan ~] $ aws ec2 describe-instances --filter Name=vpc-id,Values=vpc-id | jq '[.Reservations[] | .Instances[] | .InstanceId ] | join(",")'

Get the list of volumes attached to those instances:

[evan@Evan ~] $ aws ec2 describe-volumes --filters Name=attachment.instance-id,Values=i-abcd,i-abce,i-abcf,i-abcg

Paste result into this command:

@evandhoffman
evandhoffman / parse_eq_logs.pl
Last active August 29, 2015 14:05
Perl script to parse my old everquest logs.
#!/usr/local/bin/perl
use strict;
my $date_regex = qr/^\[(\w{3}) (\w{3}) (\d{2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})\]/;
my $guild_msg = qr/(\w+) tells the guild, '([^']+)'/;
my $channel_msg = qr/(\w+) tell(?:s?) ([\w]+):(?:\d+), '([^']+)'/;
my $raid_msg = qr/(\w+) tells the raid, '([^']+)'/;
@evandhoffman
evandhoffman / README.md
Last active August 29, 2015 14:04
List all instances in an ELB, and all ELBs the instances are in.

Usage

$ ruby ./instance_to_elb.rb

Output

The output is a JSON containing the mapping of LB->instances as well as Instance->LBs.

@evandhoffman
evandhoffman / organize-mp3.pl
Last active August 29, 2015 14:03
Perl script to organize a pile of MP3s into sane folders so I can put them in my car USB stick.
#!/usr/bin/perl
#
use strict;
use warnings;
#use MP3::M3U::Parser;
use MP3::Tag;
use Data::Dumper;
use File::Copy;
@evandhoffman
evandhoffman / evanhoffman.json
Created April 6, 2014 22:23
Evan's Resume in JSON
{
"name": "Evan D. Hoffman",
"email_addr": "[email protected]",
"summary": "I like building awesome things, usually involving computers.",
"professional_experience": [
{
"start_date": "2014-01",
"end_date": null,
"organization": "Bonobos, Inc.",
"location": "New York, NY",
@evandhoffman
evandhoffman / ec2export.py
Last active May 29, 2017 23:05
Export EC2 instances to CSV.
#!/usr/bin/env python
# Based on the script found here: http://cloudbuzz.wordpress.com/2011/02/15/336/
from boto.ec2 import EC2Connection
csv_file = open('instances.csv','w+')
def process_instance_list(connection):
map(build_instance_list,connection.get_all_instances())