#!/usr/bin/env bash
set -euo pipefail
umask 077
STAMP=$(date -u +%F-%H%M%S); ROOT=${BACKUP_ROOT:-/backup/meshcentral}; DEST=$ROOT/$STAMP
install -d -m 0700 "$DEST"
log() { printf '%s %s\n' "$(date -u --iso-8601=seconds)" "$*" >> "$ROOT/backup.log"; }
log stopping
sudo systemctl stop meshcentral
trap 'sudo systemctl start meshcentral' EXIT
tar --numeric-owner -czf "$DEST/state.tgz" /var/lib/meshcentral /opt/meshcentral/node_modules/meshcentral/package.json
sha256sum "$DEST/state.tgz" > "$DEST/SHA256SUMS"
log complete
# Encrypt and copy off-host before retention cleanup.
