Skip to content

Instantly share code, notes, and snippets.

View dannysheehan's full-sized avatar

Danny Sheehan dannysheehan

View GitHub Profile
@dannysheehan
dannysheehan / gist:5794303
Created June 17, 2013 02:32
UFW application configuration for Galera MariaDB
[Galera]
title=Galera
description=Galera cluster. 'ufw allow from x.x.x.x to any app Galera' to add node x.x.xx to the cluster.
#
# 4567 - is the port other nodes will use to check if this node is synced
# and available to become a donor.
# 4568 - is used by snapshot state transfer (SST) i.e. copy of all data.
# 4444 - used by rsync.
# 3306 - the mysql port
#
@dannysheehan
dannysheehan / gist:9082958
Created February 18, 2014 23:40
Determine what processes are causing mystery load on a server
top -b -n 1 | awk '{if (NR <=7) print; else if ($8 == "D") {print; count++} } END {print "Total status D: "count}'
@dannysheehan
dannysheehan / gist:9084174
Last active August 29, 2015 13:56
Find what countries your users are logging into your server from. Tested on SLES only and needs geoip-lookup to be installed on your server.
#!/bin/bash
grep "Accepted .* for " /var/log/messages | awk '{print $9, $11}' | egrep -v "nagios|bb|172\.|10\.|192\.168\." | sort | uniq | while read u
do
AUSER=`echo $u | awk '{print $1}'`
AIP=`echo $u | awk '{print $2}'`
COUNTRY=`geoip-lookup $AIP`
#echo $AUSER $COUNTRY $AIP
echo $AUSER $COUNTRY
done | sort | uniq -c | sort -n
@dannysheehan
dannysheehan / gist:9107750
Created February 20, 2014 05:54
Create Gluster File system with 6 stripes and 2 replicas across 12 nodes
On every node in gluster. Turn /scratch disk into brick.
b01b01:~ # df -h /scratch
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 243G 6.8G 224G 3% /scratch
umount /scratch
mkfs.xfs -f -i size=512 /dev/sda5
@dannysheehan
dannysheehan / gist:9107830
Created February 20, 2014 06:01
Find users missing .profile and .bashrc files and copy them from /etc/skel
#!/bin/bash
for h in `ls -d1 /home/*`
do
TUSER=`basename $h`
if ! getent passwd $TUSER 2> /dev/null | awk -F: '{print $7}' | grep -v "/bin/bash"
then
if [ -d $h -a ! -e $h/.profile ]
then
( su - $TUSER -c "cp /etc/skel/.profile $h" ) && ls -1d $h/.profile
else
@dannysheehan
dannysheehan / gist:ddca8cedb6e0851d432f
Created February 21, 2014 12:47
Add REMOTE_HOST functionality to NGINX mod-security - ngx_http_modsecurity.c
static inline u_char *get_rdns_hostname(ngx_http_request_t *r);
//ctx->connection->remote_host = NULL;
ctx->connection->remote_host = (char *)get_rdns_hostname(r);
static inline u_char *
get_rdns_hostname(ngx_http_request_t *r){
@dannysheehan
dannysheehan / gist:9d67adb67eeef6ad1413
Last active October 8, 2018 19:15
haproxy.cfg configuration for 1Gb KVM with 1 CPU with backend NGINX and percona /mariadb cluster.
#---------------------------------------------------------------------------
# @(#)$Id$
#title :/etc/haproxy/haproxy.cfg
#description :ftmon cluster haproxy config. NGINX and XtraDB Cluster backend
#author :Danny W Sheehan
#date :July 2014
#website :ftmon.org
#
# This is a work in progress. A lot of trial and error and man hours have
# gone into this configuration. I have referenced sources that have been
@dannysheehan
dannysheehan / gist:afe330b28ed22c822471
Created July 9, 2014 11:11
/etc/nginx/nginx.cfg ftmon cluster configuration. For KVM with 1GB memory and 1 cpu. Assumes HAPROXY front end load balancer and php5-fpm backend.
#---------------------------------------------------------------------------
# @(#)$Id$
#title :/etc/nginx/nginx.cfg
#description :ftmon cluster nginx config. HAPROXY frontend.
#author :Danny W Sheehan
#date :July 2014
#website :ftmon.org
#
# This is a work in progress. A lot of trial and error and man hours have
# gone into this configuration. I have referenced sources that have been
@dannysheehan
dannysheehan / gist:d26067dcc3599c4226aa
Created July 9, 2014 11:19
/etc/nginx/common/nginx.conf basic NGINX location rules common to all website platforms. Should be included in all virtual site configurations.
#---------------------------------------------------------------------------
# @(#)$Id$
#title :/etc/nginx/common/nginx.conf
#description :ftmon cluster nginx common config for all sites.
#author :Danny W Sheehan
#date :July 2014
#website :ftmon.org
#
# This is a work in progress. A lot of trial and error and man hours have
# gone into this configuration. I have referenced sources that have been
#---------------------------------------------------------------------------
# @(#)$Id$
#title :/etc/nginx/common/wpcommon.conf
#description :ftmon cluster nginx common configurations for Wordpress.
#author :Danny W Sheehan
#date :July 2014
#website :ftmon.org
#
# This is a work in progress. A lot of trial and error and man hours have
# gone into this configuration. I have referenced sources that have been