Skip to content

Instantly share code, notes, and snippets.

nathan todd-stone nathants

Block or report user

Report or block nathants

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View rotate-logs.sh
#!/bin/bash
set -euo pipefail
# usage: myprogram.py | rotate-logs /tmp/myprogram.log [1000000]
file=$1
max_lines=${2:-1000000}
touch $file
line_count=$(cat $file | wc -l)
View auto-restart.sh
#!/bin/bash
set -eou pipefail
# usage: auto-restart.sh python program.py
trap 'exit 1' SIGINT
count=$(ps -eo args | grep ^/bin/bash | grep "auto-restart $*"$ | grep -v grep | wc -l)
if (($count > 2)); then
echo already running: auto-restart $@ >&2
@nathants
nathants / aws-rotate-access-key.py
Last active Jun 18, 2018
quickly rotate your aws access key
View aws-rotate-access-key.py
#!/usr/bin/env python3.6
import boto3
import os
import pprint
import sys
import termios
import tty
"""
@nathants
nathants / monitor-usage.py
Last active Jun 18, 2018
simple server usage monitoring, writing json to stdout. depends on psutil and python3.4, but should work with any python version with minor modifications.
View monitor-usage.py
#!/usr/bin/env python3.4
"""
simple server usage monitoring, writing json to stdout. depends on
psutil and python3.4, but should work with any python version with
minor modifications.
to add usage to your log: $ nohup python3.4 usage.py 3 >> /var/log/your_normal_app_log.log &
View license.txt
All public gists https://gist.github.com/nathants
Copyright 2012-present, Nathan Todd-Stone
MIT License, http://www.opensource.org/licenses/mit
View pg-util.py
#!/usr/bin/env python2.7
"""
chunked backup and restore utilities for postgres via s3 with
minimal local disk/ram requirements.
dependencies:
- pip install argh awscli
- have awscli creds configured
"""
View s3-du.py
"""
prints a table of the largest prefixes in an s3 bucket, along with some meta-data.
usage:
$ python3.4 s3_du.py -h
usage:
$ aws s3 ls $BUCKET --recursive | python3.4 s3_du.py | head -n 100 | columnt -t
example:
View log-watcher.py
#!/usr/bin/env python3
import functools
import sys
import time
import collections
import threading
import queue
email_to = '_@_.com'
email_subject = 'error'
View die-hard.py
from hypothesis import given, settings
from hypothesis.strategies import lists, sampled_from
def new_state():
return {'big': 0, 'small': 0}
def desired_state(state):
return state['big'] != 4
def empty_big(state):
@nathants
nathants / pip-upgrade.py
Created Jun 18, 2018
check for updates and optionally upgrade packages via pip
View pip-upgrade.py
#!/usr/bin/env python3
"""
check for updates and optionally upgrade packages via pip
"""
import os
import subprocess
import sys
import termios
You can’t perform that action at this time.