Skip to content

Instantly share code, notes, and snippets.

Avatar

Michael Endsley miend

View GitHub Profile
@miend
miend / gitrbo.sh
Last active Aug 29, 2015
Git rebase from origin shortcut
View gitrbo.sh
# Git rebase origin/["your checked out branch"]
function git_rebase_from_origin() {
git rebase origin/$(git rev-parse --symbolic-full-name --abbrev-ref HEAD)
}
alias 'gitrbo'='git_rebase_from_origin'
View token-regex
var = "google.com/randomtext/private-dw1938f3hf783h2g240o35o/basic"
r = /private-(.+)\//i
var.match(r)[1]
# should return:
# => "dw1938f3hf783h2g240o35o"
@miend
miend / findreplace.sh
Created Nov 4, 2011
pure bash find and replace
View findreplace.sh
#!/bin/sh
for file in $(find DIRECTORY -name FILENAME)
do
sed -e "s/KEYWORD/REPLACEMENT/ig" $file > /tmp/tempfile.tmp
mv /tmp/tempfile.tmp $file
done
@miend
miend / db-backup.sh
Created Nov 4, 2011
full mysql backups with push to s3
View db-backup.sh
#!/bin/sh
# Dumps all MySQL databases, each to its own file, rotates out old backups.
# set correct dates
NOWDATE=`date +%Y-%m-%d`
LASTDATE=$(date +%Y-%m-%d --date='1 week ago')
# dump each database to its own sql file
for DB in $(echo 'show databases' | mysql -hhostname -uuser -password=password --batch -N)
@miend
miend / tracking.sh
Created Apr 23, 2012
Tracking connected IPs
View tracking.sh
tail -n 10000 yourweblog.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more
# Take a look at the top IP addresses. If any stand out from the others, those would be the ones to firewall.
netstat -n|grep :80|cut -c 45-|cut -f 1 -d ':'|sort|uniq -c|sort -nr|more
# This will look at the currently active connections to see if there are any IPs connecting to port 80. You might need to alter the cut -c 45- as the IP address may not start at column 45. If someone was doing a UDP flood to your webserver, this would pick it up as well.
#On the off chance that neither of these show any IPs that are excessively out of the norm, you would need to assume that you have a botnet attacking you and would need to look for particular patterns in the logs to see what they are doing. A common attack against wordpress sites is:
GET /index.php? HTTP/1.0
#If you look through the access logs for your website, you might be able to do something like:
@miend
miend / mime.types
Created Sep 14, 2012 — forked from joshkraemer/mime.types
Nginx Configuration Optimized for Unicorn Rails Apps
View mime.types
# /etc/nginx/mime.types
# Global Nginx mime.types file
types {
text/html html htm shtml;
text/css css;
text/xml xml rss;
image/gif gif;
image/jpeg jpeg jpg;
application/javascript js;
@miend
miend / unicorn
Created Sep 14, 2012 — forked from joshkraemer/unicorn
Unicorn init.d script
View unicorn
#!/bin/sh
### BEGIN INIT INFO
# Provides: unicorn
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: S 0 1 6
# Short-Description: unicorn initscript
# Description: unicorn
### END INIT INFO
@miend
miend / .bash_profile
Created Sep 14, 2012 — forked from joshkraemer/.bash_profile
AWS Local Machine Bash Configuration
View .bash_profile
# Load Amazon EC2 API tools
source ~/.ec2/setup_env.sh
@miend
miend / rotation.bash
Created Sep 14, 2012
Better, simpler rotation script
View rotation.bash
#!/bin/bash
# Find files in a path older than X days (represented by +X), execute removal.
# removes files older than 1 week
find /path/to/files/* -mtime +7 -exec rm {} \;
@miend
miend / useful-terminal.sh
Last active Oct 10, 2015 — forked from joshkraemer/useful-terminal.sh
Useful Terminal Commands
View useful-terminal.sh
# Start an application in the background (leaving terminal free for other use once it starts)
application-name [whatever options] &
# No really, just put & on the end of it. Trust me.
# Recursively find all files named config and replace a string using sed. The -i flag requires a blank suffix '' to work on Mac.
find . -name config -type f -print | xargs sed -i '' 's/git@github.com:CollegePlus/git@github.com:collegeplus/g'
# Recursively find all files with a certain file extension and replace a string using perl.
find . -name "*.fileext" -print | xargs perl -i -p -e 's/STRINGTOFIND/STRINGTOREPLACE/g'
You can’t perform that action at this time.