tpotce/installer/bin/check.sh

62 lines
1.7 KiB
Bash
Raw Normal View History

2015-01-27 16:46:52 +00:00
#!/bin/bash
########################################################
# T-Pot Community Edition #
# Check container and services script #
# #
2015-08-07 21:45:50 +00:00
# v0.14 by mo, DTAG, 2015-08-07 #
2015-01-27 16:46:52 +00:00
########################################################
2015-01-30 20:40:01 +00:00
if [ -a /var/run/check.lock ];
2015-01-27 16:46:52 +00:00
then exit
fi
2015-01-28 16:08:34 +00:00
myIMAGES=$(cat /data/images.conf)
2015-01-27 16:46:52 +00:00
touch /var/run/check.lock
myUPTIME=$(awk '{print int($1/60)}' /proc/uptime)
2015-01-28 16:08:34 +00:00
for i in $myIMAGES
2015-08-07 20:32:15 +00:00
do
2015-06-12 09:43:20 +00:00
myCIDSTATUS=$(docker exec $i supervisorctl status)
2015-08-07 20:32:15 +00:00
if [ $? -ne 0 ];
2015-01-28 16:08:34 +00:00
then
2015-08-07 20:32:15 +00:00
myCIDSTATUS=1
else
2015-01-28 16:08:34 +00:00
myCIDSTATUS=$(echo $myCIDSTATUS | egrep -c "(STOPPED|FATAL)")
fi
2015-08-07 20:32:15 +00:00
if [ $myCIDSTATUS -gt 0 ];
2015-01-28 16:08:34 +00:00
then
2015-08-07 20:32:15 +00:00
if [ $myUPTIME -gt 5 ];
2015-01-28 16:08:34 +00:00
then
for j in $myIMAGES
do
service $j stop
done
2015-01-30 20:40:01 +00:00
iptables -w -F
2015-01-28 16:08:34 +00:00
service docker restart
while true
do
docker info > /dev/null
if [ $? -ne 0 ];
then
echo Docker daemon is still starting.
else
echo Docker daemon is now available.
break
fi
sleep 0.1
done
2015-08-07 20:32:15 +00:00
docker rm -v $(docker ps -aq)
2015-01-28 16:08:34 +00:00
for j in $myIMAGES
do
service $j start
sleep $(((RANDOM %5)+5))
done
rm /var/run/check.lock
exit
fi
fi
2015-01-27 16:46:52 +00:00
done
rm /var/run/check.lock