diff --git a/offsite-power-check.sh b/offsite-power-check.sh index c87b9de0..bd47e8db 100755 --- a/offsite-power-check.sh +++ b/offsite-power-check.sh @@ -53,6 +53,7 @@ $(date)" curl -m 3 -sd "token=${PW_PUSHOVER_APP_TOKEN}&user=${PW_PUSHOVER_USER_TOKEN}&message=${MESSAGE}&title=${1}&priority=${PRIORITY}&sound=cosmic" https://api.pushover.net/1/messages.json >/dev/null 2>&1 } if [ "${startup}" == "true" ]; then + echo STARTING echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'volts - ${OFFSITE_WATTS}'watts - ${OFFSITE_BATT_CAP}'% Battery - ${OFFSITE_BATT_RUNTIME}'mins - Service startup" >> ${PW_LOGPOWER} echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'volts - ${OFFSITE_BATT_CAP}'% Battery - Service startup" >> ${PW_LOGFILE} SENDNOTICE "OFFSITE POWER MONITOR" "Service starting" @@ -181,17 +182,35 @@ case $1 in logrotate) LOGROTATE;; update) cd ${PW_FOLDER} - if [ "`git log --pretty=%H ...refs/heads/master^ | head -n 1`" != "`git ls-remote origin -h refs/heads/master |cut -f1`" ]; then - git fetch origin master >/dev/null 2>&1 - git reset --hard origin/master >/dev/null 2>&1 - git reflog expire --expire=now --all >/dev/null 2>&1 - git repack -ad >/dev/null 2>&1 - git prune >/dev/null 2>&1 - git pull >/dev/null 2>&1 - echo "Updated, restarting services" - /opt/idssys/powerwall/offsite-power-check.sh restart & + if curl -m 5 -s --head --request GET https://git.schroedercity.com | grep "HTTP/2 200" > /dev/null; then + cd /opt/idssys/defaults + if [ "`git log --pretty=%H ...refs/heads/master^ | head -n 1`" != "`git ls-remote origin -h refs/heads/master |cut -f1`" ]; then + if [ "${2}" != "q" ]; then + echo -en "\e[1A"; + echo -e "\e[0K\r ${idsCL[LightCyan]}Installing updates...${idsCL[Default]}" + fi + git fetch origin master >/dev/null 2>&1 + git reset --hard origin/master >/dev/null 2>&1 + git reflog expire --expire=now --all >/dev/null 2>&1 + git repack -ad >/dev/null 2>&1 + git prune >/dev/null 2>&1 + git pull >/dev/null 2>&1 + git submodule update --remote >/dev/null 2>&1 + fi + if [ "`git log --pretty=%H ...refs/heads/master^ | head -n 1`" != "`git ls-remote origin -h refs/heads/master |cut -f1`" ]; then + git fetch origin master >/dev/null 2>&1 + git reset --hard origin/master >/dev/null 2>&1 + git reflog expire --expire=now --all >/dev/null 2>&1 + git repack -ad >/dev/null 2>&1 + git prune >/dev/null 2>&1 + git pull >/dev/null 2>&1 + echo "Updated, restarting services" + /opt/idssys/powerwall/offsite-power-check.sh restart & + else + echo "No update available" + fi else - echo "No update available" + echo "Cannot connect to GIT server" fi ;; esac