Assorted shell and Python scripts
1#!/usr/bin/env bash 2 3set -euxo pipefail 4 5if [ ! -f "${HOME}/.env_common" ]; then 6 echo "ERROR: .env_common not found" 7 exit 1 8else 9 source "${HOME}/.env_common" 10fi 11 12curl --retry 3 "${HC_PING_URL}/start" 13 14BORG_ARCHIVE=$(borg list ssh://root@hyperreal.carp-wyvern.ts.net/srv/borgbackup/hyperreal | tail -n 1 | awk '{print $1}') 15ARCHIVE_BASENAME=$(echo "$BORG_ARCHIVE" | cut -d "T" -f 1) 16TS_HOST=$(tailscale status --json | jq ".Self.HostName" | tr -d '"') 17 18if [ "$TS_HOST" = "nas" ]; then 19 if ! borg export-tar \ 20 "ssh://root@hyperreal.carp-wyvern.ts.net/srv/borgbackup/hyperreal::${BORG_ARCHIVE}" \ 21 "/naspool/hyperreal_backup/${ARCHIVE_BASENAME}.tar"; then 22 curl --retry 3 "${HC_PING_URL}/fail" 23 fi 24 25 find /naspool/hyperreal_backup \ 26 -maxdepth 1 \ 27 -type f \ 28 -mtime +7 \ 29 -exec rm -fv {} \; || 30 curl --retry 3 "${HC_PING_URL}/fail" 31fi 32 33if [ "$TS_HOST" = "aux-remote" ]; then 34 if ! borg export-tar \ 35 "ssh://root@hyperreal.carp-wyvern.ts.net/srv/borgbackup/hyperreal::${BORG_ARCHIVE}" \ 36 "/bpool/hyperreal_backup/${ARCHIVE_BASENAME}.tar"; then 37 curl --retry 3 "${HC_PING_URL}/fail" 38 fi 39 40 find /bpool/hyperreal_backup \ 41 -maxdepth 1 \ 42 -type f \ 43 -mtime +7 \ 44 -exec rm -fv {} \; || 45 curl --retry 3 "${HC_PING_URL}/fail" 46fi 47 48curl --retry 3 "$HC_PING_URL" 49 50# vim: ts=4 sts=4 sw=4 et ai ft=bash