#!/bin/sh

rm -f /etc/apcupsd/powerfail
rm -f /etc/nologin

log_dated() {
  printf -- '%s  %s\n' "$(date +'%Y-%m-%d %H:%M:%S %z')" "$@" >&2
}

i=1
log_dated 'Attempting to connect to UPS'
while ! /opt/local/sbin/apcupsd "$@"; do
  if [ "$i" -eq 30 ]; then
  	log_dated "Cannot connect after ${i} attempts, giving up"
  	exit 1
  fi
  log_dated "Cannot connect to UPS (attempt ${i}), retrying in 1 second"
  sleep 1;
  i=$((i + 1))
done
