You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

39 lines
910 B

#!/bin/bash
cd "$(dirname "$0")"
LOGFILE=./upcheck.log
CONTAINER=proxywg_socks_c
PINGHOST=8.8.8.8
CHECK_CONTAINER="$(docker ps | grep $CONTAINER | wc -l)"
if [ "$CHECK_CONTAINER" == "0" ]; then
echo "[" $COUNT "]" `date +%Y%m%d.%H%M%S` "CONTAINER FAIL" >> $LOGFILE
echo 'container is not started'
docker compose up -d
exit 0
fi
COUNT=0
MAXPING=30
while [ $COUNT -le $MAXPING ]
do
COUNT=`expr $COUNT + 1`
RESULT="$(docker exec -it $CONTAINER ping -c 1 -W 1 $PINGHOST > /dev/null && echo 'pass' || echo 'fail')"
if [ "$RESULT" == "pass" ]; then
echo "[" $COUNT "]" `date +%Y%m%d.%H%M%S` "PING OK" >> $LOGFILE
exit 0
fi
echo "[" $COUNT "]" `date +%Y%m%d.%H%M%S` "PING FAIL" >> $LOGFILE
if [ $COUNT -ge 29 ]; then
#echo 'container is not good'
echo "[" $COUNT "]" `date +%Y%m%d.%H%M%S` "PING FAIL TOTALY" >> $LOGFILE
docker compose down
docker compose up -d
exit 0
fi
sleep 1
done