Skip to content

Instantly share code, notes, and snippets.

View .tmux.conf
# Make things colorful
set -g default-terminal "screen-256color"
setw -g window-status-current-format '#[fg=white]#I:#{?window_zoomed_flag,#[fg=colour201]#W,#W}'
# Window title for Putty,xterm,etc
set -g set-titles on
set -g allow-rename on
# ctrl-b / sets window name to hostname -s
bind-key / send-keys "printf \"\\033k$(hostname -s)\\033\ \"" \; send-keys "Enter"
@tsaavik
tsaavik / Fix ssh sockets in Tmux
Last active Oct 12, 2021
Are your long running ssh agent sockets failing? Perhaps something is cleaning /tmp? This rc file for ssh fixes all these problems.
View Fix ssh sockets in Tmux
# Fix ssh sockets so they always work in Tmux/Screen, even after you re-connect dmcanulty 2021
#
# After putting this file at ~/.ssh/rc add the following to your ~/.bash_aliases
# alias ssh="SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock; ssh"
# alias git="SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock; git"
# If the symlink does not point at a valid socket, and the env variable is a valid socket, make a symlink
if [ ! -S ~/.ssh/ssh_auth_sock ] && [ -S "$SSH_AUTH_SOCK" ]; then
ln -sf $SSH_AUTH_SOCK ~/.ssh/ssh_auth_sock
fi
View Enable favicon in haproxy stats page
frontend stats
bind :8080
use_backend be_stats unless { path /favicon.ico }
errorfile 503 /etc/haproxy/errors/haproxy-favicon.ico
backend be_stats
stats enable
stats uri /
View gist:80ad446c23026d79069dc6df238b82a3
#!/bin/bash
echo "DNS Checker v1.0 David Mcanulty 2017"
echo -e "\t- # repeatably tests dns and records success/failures\n"
success=0
failure=0
dnshost=$1
datestamp=$(date)
red=$(tput setaf 1)
green=$(tput setaf 2)
View gist:11499b9ec281f03c6a3683d526f4fc14
#!/bin/bash
lockfile=/var/lock/$(basename $0)
#Redirects output of file descriptor 5 to lockfile while this script runs
exec 5>"${lockfile}"
# flock file descriptor 5, otherwise fail
if ! flock -n 5 ; then
echo "Exiting: Another instance of $0 is already running";
exit 1
View python venv
#setup my_project via venv
proj_path="/usr/local/scripts/my_project/"
venv_path="${proj_path}/venv"
if [[ ! -d ${venv_path} ]] ;then
echo "Installing virtualenv ..."
virtualenv ${venv_path}
source ${venv_path}/bin/activate
pip install -r ${proj_path}/dependencies.txt
# Following 2 lines only needed if exporting libs
#cd ${proj_path}
@tsaavik
tsaavik / oldprocesskiller.sh
Created Aug 9, 2016
Old Process Killer - Finds the passed process name that has been running longer than 24 hours and kills it
View oldprocesskiller.sh
#!/bin/bash
# Check for user input
process=$@
if [[ -z "${process}" ]] ;then
echo "This program requires a process name."
echo "The (oldest) given process name will be killed"
echo "if it has been running for > 24 hours"
exit 1
fi
@tsaavik
tsaavik / gist:c176aa97eeee7bac2502ba2b9e01f2a4
Last active Jul 18, 2016
Auto start xen instance confs based on images present
View gist:c176aa97eeee7bac2502ba2b9e01f2a4
#!/bin/bash
# Auto start xen instance confs based on images present
cd /home/dave/xen/images/
for xenimage in *.img ;do
xm create ${xenimage%%\.*}
sleep 30
done
View monitor puppet with monit mmonit
# This restarts the agent every 30 days, to make sure its not hung
# And also checks that the lockfile isn't more then 1 hour old
check process puppet with pidfile /var/run/puppet/agent.pid
group system
start program = "/usr/sbin/service puppet start"
stop program = "/usr/sbin/service puppet stop"
if 5 restarts within 5 cycles then timeout
if uptime > 30 days then restart
@tsaavik
tsaavik / rsyncr
Last active Jan 21, 2016
Automatic rsync retry with incremental (delay) backoff
View rsyncr
#!/bin/bash
#
# Rsyncr (Rsync Retry) 2016 David Mcanulty
# Runs rsync, retrying on errors up to a maximum number of tries with incremental backoff (delay)
# Based on idea from https://gist.github.com/iangreenleaf/279849 by iangreenleaf 2011
# Set your max rsync retries here
max_retries=50
# Trap interrupts (ctrl-c) and exit instead of continuing the loop