summaryrefslogtreecommitdiff
path: root/snapshot_send_to_vault.sh
diff options
context:
space:
mode:
authordoc <doc@filenotfound.org>2025-06-30 20:11:52 +0000
committerdoc <doc@filenotfound.org>2025-06-30 20:11:52 +0000
commit41e897f4945aaf8fbcdf0b12ac2f08c5e6ae0458 (patch)
treedb7c3520fd91abc3cf56b1a52095d23f3a80d059 /snapshot_send_to_vault.sh
commit of legacy codeHEADmaster
Diffstat (limited to 'snapshot_send_to_vault.sh')
-rwxr-xr-xsnapshot_send_to_vault.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/snapshot_send_to_vault.sh b/snapshot_send_to_vault.sh
new file mode 100755
index 0000000..387aad1
--- /dev/null
+++ b/snapshot_send_to_vault.sh
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+
+# snapshot_and_send_to_vault.sh
+# Create a ZFS snapshot of /deadbeef/genesis-tools and send it to the vault
+
+set -euo pipefail
+
+# ⚙️ Config
+POOL="deadbeef"
+DATASET="genesis-tools"
+REMOTE_USER="root"
+REMOTE_HOST="thevault.bounceme.net"
+REMOTE_DATASET="backups/krang"
+
+# 🗓️ Create snapshot name
+DATE=$(date +%F)
+SNAPSHOT_NAME="${DATE}"
+
+echo "🔧 Creating snapshot ${POOL}/${DATASET}@${SNAPSHOT_NAME}..."
+sudo zfs snapshot ${POOL}/${DATASET}@${SNAPSHOT_NAME}
+
+echo "🚀 Sending snapshot to ${REMOTE_HOST}..."
+sudo zfs send ${POOL}/${DATASET}@${SNAPSHOT_NAME} | \
+ ssh ${REMOTE_USER}@${REMOTE_HOST} sudo zfs receive -F ${REMOTE_DATASET}
+
+echo "✅ Snapshot ${SNAPSHOT_NAME} replicated to ${REMOTE_HOST}:${REMOTE_DATASET}"
+
+echo "🎉 All done!"