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 /brains_backup2.sh |
Diffstat (limited to 'brains_backup2.sh')
-rwxr-xr-x | brains_backup2.sh | 69 |
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 |