diff options
author | doc <doc@filenotfound.org> | 2025-06-30 20:11:52 +0000 |
---|---|---|
committer | doc <doc@filenotfound.org> | 2025-06-30 20:11:52 +0000 |
commit | 41e897f4945aaf8fbcdf0b12ac2f08c5e6ae0458 (patch) | |
tree | db7c3520fd91abc3cf56b1a52095d23f3a80d059 /snapshot_send_to_vault.sh |
Diffstat (limited to 'snapshot_send_to_vault.sh')
-rwxr-xr-x | snapshot_send_to_vault.sh | 28 |
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!" |