Skip to content

Instantly share code, notes, and snippets.

View dannysheehan's full-sized avatar

Danny Sheehan dannysheehan

View GitHub Profile
@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: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