#!/bin/bash # Replace only the wxch-server binary with /tmp/wxch-new/wxch-server. Rolls back if it does not come up. set -u N=/tmp/wxch-new [ -f $N/wxch-server ] || { echo "missing $N/wxch-server"; exit 1; } systemctl stop wxch-server cp -p /opt/wxch/wxch-server /opt/wxch/wxch-server.prev install -m 755 -o wxch -g wxch $N/wxch-server /opt/wxch/wxch-server systemctl start wxch-server sleep 2 if systemctl is-active wxch-server >/dev/null && curl -fsS -o /dev/null http://127.0.0.1:8080/get; then echo "swap ok"; systemctl is-active wxch-server else echo "!! rolling back"; systemctl stop wxch-server; mv -f /opt/wxch/wxch-server.prev /opt/wxch/wxch-server; systemctl start wxch-server; exit 1 fi