summaryrefslogtreecommitdiff
path: root/brains_backup2.sh
diff options
context:
space:
mode:
Diffstat (limited to 'brains_backup2.sh')
-rwxr-xr-xbrains_backup2.sh69
1 files changed, 69 insertions, 0 deletions
diff --git a/brains_backup2.sh b/brains_backup2.sh
new file mode 100755
index 0000000..d34e56e
--- /dev/null
+++ b/brains_backup2.sh
@@ -0,0 +1,69 @@
+#!/bin/bash
+set -euo pipefail
+
+# === SSH Hosts ===
+SHREDDER_HOST="doc@shredder.sshjunkie.com"
+PORTAL_HOST="root@portal.genesishostingtechnologies.com"
+DA_HOST="root@da.genesishostingtechnologies.com"
+VAULT_HOST="root@thevault.bounceme.net"
+DATE=$(date +%Y%m%d%H%M%S)
+
+# === Telegram Setup ===
+TG_TOKEN="7277705363:AAGSw5Pmcbf7IsSyZKMqU6PJ4VsVwdKLRH0"
+TG_CHAT_ID="1559582356"
+
+send_telegram() {
+ local message="$1"
+ curl -s -X POST "https://api.telegram.org/bot$TG_TOKEN/sendMessage" \
+ -d "chat_id=$TG_CHAT_ID&text=$message"
+}
+
+send_telegram "๐Ÿง  Starting V2 Direct-to-Vault Backup Orchestration..."
+
+# === Sanity Checks on TheVault and Shredder Mounts ===
+send_telegram "๐Ÿงช Sanity check: vault & shredder mounts..."
+#ssh -o BatchMode=yes $VAULT_HOST "zfs mount -a && ls /backups/azuracast /backups/krang /backups/directadmin" || send_telegram "โŒ Vault sanity check FAILED!"
+#ssh -o BatchMode=yes $SHREDDER_HOST "
+# zfs mount assets/splmedia &&
+# zfs mount assets/azuracast &&
+# zfs mount assets/splshows &&
+# ls /assets/splmedia /assets/azuracast /assets/splshows
+#"
+
+# === 1๏ธโƒฃ Direct SPL data: Shredder โ†’ TheVault ===
+send_telegram "๐Ÿ”„ Syncing SPL data directly from Shredder to TheVault..."
+ssh -o BatchMode=yes $SHREDDER_HOST "rsync -avz /mnt/spl/splmedia/ $VAULT_HOST:/backups/splmedia/$DATE/"
+ssh -o BatchMode=yes $SHREDDER_HOST "rsync -avz /mnt/spl/splassets/ $VAULT_HOST:/backups/splassets/$DATE/"
+ssh -o BatchMode=yes $SHREDDER_HOST "rsync -avz /mnt/spl/splshows/ $VAULT_HOST:/backups/splshows/$DATE/"
+send_telegram "โœ… SPL data sync complete!"
+
+# === 2๏ธโƒฃ Direct AzuraCast media: Shredder โ†’ TheVault ===
+send_telegram "๐Ÿ”„ Syncing AzuraCast media directly from Shredder to TheVault..."
+ssh -o BatchMode=yes $SHREDDER_HOST "rsync -avz /mnt/shredder.sshjunkie.com/azuracast/ $VAULT_HOST:/backups/azuracast/$DATE/"
+send_telegram "โœ… AzuraCast media sync complete!"
+
+# === 3๏ธโƒฃ Direct AzuraCast configs: Portal โ†’ TheVault ===
+send_telegram "๐Ÿ”„ Syncing AzuraCast configs from Portal to TheVault..."
+ssh -o BatchMode=yes $PORTAL_HOST "rsync -avz /var/azuracast/.env /var/azuracast/docker-compose.yml /var/azuracast/stations $VAULT_HOST:/backups/azuracast/configs/$DATE/"
+send_telegram "โœ… AzuraCast configs sync complete!"
+
+# === 4๏ธโƒฃ Direct AzuraCast DB dump: Portal โ†’ TheVault ===
+send_telegram "๐Ÿ”„ Dumping and pushing AzuraCast DB from Portal to TheVault..."
+ssh -o BatchMode=yes $PORTAL_HOST "pg_dump -U postgres azuracast | ssh $VAULT_HOST 'cat > /backups/azuracast/configs/$DATE/azuracast.sql'"
+send_telegram "โœ… AzuraCast DB push complete!"
+
+# === 5๏ธโƒฃ Direct DirectAdmin backup: Portal โ†’ TheVault ===
+send_telegram "๐Ÿ”„ Syncing DirectAdmin configs from Portal to TheVault..."
+ssh -o BatchMode=yes $PORTAL_HOST "rsync -avz /usr/local/directadmin/data/admin/ $VAULT_HOST:/backups/directadmin/$DATE/"
+send_telegram "โœ… DirectAdmin sync complete!"
+
+# === 6๏ธโƒฃ Krang's Proxmox configs: Krang โ†’ TheVault ===
+send_telegram "๐Ÿ”„ Syncing Krang configs to TheVault..."
+rsync -avz /etc/pve $VAULT_HOST:/backups/krang/$DATE/pve/
+rsync -avz /etc/network/interfaces $VAULT_HOST:/backups/krang/$DATE/network/
+rsync -avz /etc/ssh $VAULT_HOST:/backups/krang/$DATE/ssh/
+send_telegram "โœ… Krang configs push complete!"
+
+# === ๐ŸŽ‰ All done! ===
+send_telegram "๐ŸŽ‰ V2 Direct-to-Vault Backup COMPLETED!"
+exit 0