Skip to content

Instantly share code, notes, and snippets.

@davidalger
Last active February 2, 2024 09:17
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save davidalger/b06af9db91d55fcaf20295318359c674 to your computer and use it in GitHub Desktop.
Save davidalger/b06af9db91d55fcaf20295318359c674 to your computer and use it in GitHub Desktop.
sysadmin-shortcuts

list listening ports

sudo lsof -nP -iTCP -sTCP:LISTEN
sudo netstat -plunt

flush DNS on Mojave

sudo killall -HUP mDNSResponder

immediately sleep displays

pmset displaysleepnow

monitor redis utilization

redis-cli -p 6381 info | grep -E '(memory.*human|keyspace|total)'

redis sentinel (find active master)

redis-cli -h redis-node -p 26379 info sentinel | grep name=obj | head -n1 | tr , $'\n' | grep address | cut -d= -f2 | sed 's/:/ -p /'

human readable memory info

cat /proc/meminfo | grep Mem | awk '{print $1" "$2/1024/1024" GB"}'

sort uniq nginx errors

zgrep '2016/11/30'  /var/log/nginx/*error.log* \
  | perl -p -e 's/^(.*?):.*(\[[a-z]+\]) [0-9]+#[0-9]+:(?: \*[0-9]+)? (.*?,|.*?) (?:client: [0-9\.]+, )?(.*)$/$1 $2 $3 $4/' \
  | perl -p -e 's/, (?:referrer|host|request): "[^"\n]+"//g' | perl -p -e 's/client_temp\/[0-9]+/client_temp\/<tmp_number>/' \
  |  sort | uniq -c | sort -n | less

sort nginx log files by date

cat access-log.txt | cut -d: -f2- | sort -t ' ' -k 4.9,4.12n -k 4.5,4.7M

enumerate ssl ciphers

nmap --script ssl-enum-ciphers -p 443 <hostname>

http memory

ps aux | grep 'http' | awk '{print $6/1024;}' | awk '{avg += ($1 - avg) / NR;} END {print avg " MB";}'

show memory usage for php-fpm by user

ps --no-headers -o size,pid,user,command --sort -size -C php-fpm -U www-prod | awk '{ hr=$1/1024 ; printf("%13.2f Mb %s ",hr,$2) } { for ( x=4 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" }'

show average memory usage for php-fpm by user

ps --no-headers -o size,cmd -C php-fpm -U www-prod | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"M") }'

show size of installed RAM

dmidecode -t 17 | grep Size | awk '{s+=$2} END {print s/1024 " GB"}'
ansible -i inventory-* all -b -m shell -a 'dmidecode -t 17 | grep Size | awk '\''{s+=$2} END {print s/1024 " GB"}'\'''

Monitor number of connections in a TIME_WAIT state

watch -d -n1 'ss -na state time-wait dport = :3306 or dport = :6379 or dport = :6380 or dport = :6381 | awk '\''{print $(NF)" "$(NF-1)}'\'' | sed '\''s/:[^ ]*$//g'\'' | sort | uniq -c | sort -n'
watch -d -n1 'ss -na state established sport = :3306 or sport = :6379 or sport = :6380 or sport = :6381 | awk '\''{print $(NF-1)" "$(NF)}'\'' | sed '\''s/:[^ ]*$//g'\'' | sort | uniq -c | sort -nr'

Add following bit to ~/.ssh/config on Fedora 29 when running in VMWare

https://superuser.com/questions/1371506/from-vmware-and-fedora-29-ssh-to-remote-machine-cause-broken-pipe

Host *
    IPQoS=throughput

Cleanup nearly full /boot partition

https://unix.stackexchange.com/a/105029/46493

yum install yum-utils
package-cleanup --oldkernels --count=2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment