Skip to content

Instantly share code, notes, and snippets.

@luiscoms
Last active November 1, 2017 12:51
Show Gist options
  • Save luiscoms/e22e2adc6a10b95b429f7506d08c4c69 to your computer and use it in GitHub Desktop.
Save luiscoms/e22e2adc6a10b95b429f7506d08c4c69 to your computer and use it in GitHub Desktop.
Take a snapshot from machine
#!/bin/bash
# INIT
/bin/echo " - Start snapshot - "
/bin/date >> /opt/resources/snap-hard-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-hard-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-hard-`/bin/date -I`.out
/bin/date >> /opt/resources/snap-sys-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-sys-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-sys-`/bin/date -I`.out
/bin/date >> /opt/resources/snap-net-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-net-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-net-`/bin/date -I`.out
/bin/date >> /opt/resources/snap-docker-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
# HARDWARE COLLECT
/bin/echo " - HARDWARE COLLECT - "
/bin/iostat -x 2 6 >> /opt/resources/snap-hard-`/bin/date -I`.out 2>&1
/bin/echo " " >> /opt/resources/snap-hard-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-hard-`/bin/date -I`.out
/bin/free -m >> /opt/resources/snap-hard-`/bin/date -I`.out 2>&1
/bin/echo " " >> /opt/resources/snap-hard-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-hard-`/bin/date -I`.out
/bin/top -n 1 >> /opt/resources/snap-hard-`/bin/date -I`.out 2>&1
/bin/echo " " >> /opt/resources/snap-hard-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-hard-`/bin/date -I`.out
# SYSTEM COLLECT
/bin/echo " - SYSTEM COLLECT - "
/bin/dmesg -T >> /opt/resources/snap-sys-`/bin/date -I`.out 2>&1
/bin/echo " " >> /opt/resources/snap-sys-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-sys-`/bin/date -I`.out
/bin/ps -aux >> /opt/resources/snap-sys-`/bin/date -I`.out 2>&1
/bin/echo " " >> /opt/resources/snap-sys-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-sys-`/bin/date -I`.out
/bin/df -Th >> /opt/resources/snap-sys-`/bin/date -I`.out 2>&1
/bin/echo " " >> /opt/resources/snap-sys-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-sys-`/bin/date -I`.out
/sbin/sysctl -a >> /opt/resources/snap-sys-`/bin/date -I`.out 2>&1
/bin/echo " " >> /opt/resources/snap-sys-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-sys-`/bin/date -I`.out
ulimit -a >> /opt/resources/snap-sys-`/bin/date -I`.out 2>&1
/bin/echo " " >> /opt/resources/snap-sys-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-sys-`/bin/date -I`.out
# NETWORK COLLECT
/bin/echo " - NETWORK COLLECT - "
/bin/netstat -anp >> /opt/resources/snap-net-`/bin/date -I`.out 2>&1
/bin/echo " " >> /opt/resources/snap-net-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-net-`/bin/date -I`.out
/sbin/iptables -L -t filter >> /opt/resources/snap-net-`/bin/date -I`.out 2>&1
/bin/echo " " >> /opt/resources/snap-net-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-net-`/bin/date -I`.out
/sbin/iptables -L -t nat >> /opt/resources/snap-net-`/bin/date -I`.out 2>&1
/bin/echo " " >> /opt/resources/snap-net-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-net-`/bin/date -I`.out
/sbin/iptables -L -t mangle >> /opt/resources/snap-net-`/bin/date -I`.out 2>&1
/bin/echo " " >> /opt/resources/snap-net-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-net-`/bin/date -I`.out
/sbin/route -n >> /opt/resources/snap-net-`/bin/date -I`.out 2>&1
/bin/echo " " >> /opt/resources/snap-net-`/bin/date -I`.out
/bin/echo " " >> /opt/resources/snap-net-`/bin/date -I`.out
ipaddr=`/sbin/ifconfig eth0 | /bin/awk '/inet /{print $2}'`
listportservices=`/bin/netstat -anp | /bin/grep dockerd | /bin/grep " LISTEN " | /bin/awk '{print $4}' | /bin/sed 's/\://g'`
for i in $listportservices
do
echo "TEST host to Docker Network port --- > $i" >> /opt/resources/snap-net-`/bin/date -I`.out
echo "QUIT" | telnet $ipaddr $i >> /opt/resources/snap-net-`/bin/date -I`.out 2>&1
echo " " >> /opt/resources/snap-net-`/bin/date -I`.out
echo " " >> /opt/resources/snap-net-`/bin/date -I`.out
done
# DOCKER COLLECT
/bin/echo " - DOCKER COLLECT - "
/bin/docker info >> /opt/resources/snap-docker-`/bin/date -I`.out 2>&1
echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
/bin/docker service ls >> /opt/resources/snap-docker-`/bin/date -I`.out 2>&1
echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
services=`/bin/docker service ls | /bin/awk '{print $2}' | /usr/bin/grep -v NAME`
for i in $services
do
/bin/echo "Service --- $i " >> /opt/resources/snap-docker-`/bin/date -I`.out
echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
/bin/docker service inspect $i >> /opt/resources/snap-docker-`/bin/date -I`.out 2>&1
echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
/bin/docker service logs --since 30m $i >> /opt/resources/logservice-$i-docker-`/bin/date -I`.out 2>&1
done
/bin/docker ps -a >> /opt/resources/snap-docker-`/bin/date -I`.out 2>&1
echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
conteiners=`/bin/docker ps -a | grep -v -i exited | /bin/awk '{print $1}' | grep -v -i CONTAINER`
for i in $conteiners
do
/bin/echo "Conteiner --- $i " >> /opt/resources/snap-docker-`/bin/date -I`.out
echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
/bin/docker inspect $i >> /opt/resources/snap-docker-`/bin/date -I`.out 2>&1
echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
echo " " >> /opt/resources/snap-docker-`/bin/date -I`.out
done
/bin/echo " - Finish snapshot - "
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment