From 41e897f4945aaf8fbcdf0b12ac2f08c5e6ae0458 Mon Sep 17 00:00:00 2001 From: doc Date: Mon, 30 Jun 2025 20:11:52 +0000 Subject: commit of legacy code --- dr_mirror_to_linode.sh | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 dr_mirror_to_linode.sh (limited to 'dr_mirror_to_linode.sh') diff --git a/dr_mirror_to_linode.sh b/dr_mirror_to_linode.sh new file mode 100755 index 0000000..b15ad97 --- /dev/null +++ b/dr_mirror_to_linode.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# === CONFIG === +ZFS_MOUNT="/assets" +LINODE_ALIAS="linode" +KRANG_BOT_TOKEN="your-bot-token-here" +CHAT_ID="your-chat-id-here" +MINIO_SERVICE="minio" +LOG_DIR="/home/doc/genesisdr" # <- customize this! + +# === SETUP === +mkdir -p "$LOG_DIR" +TIMESTAMP=$(date '+%Y-%m-%d_%H-%M-%S') +LOG_FILE="$LOG_DIR/mirror_$TIMESTAMP.log" + +# === START LOGGING === +exec > >(tee -a "$LOG_FILE") 2>&1 + +echo "🔐 Genesis DR MinIO Mirror Log — $TIMESTAMP" +echo "Log file: $LOG_FILE" +echo "Starting DR mirror from $ZFS_MOUNT to $LINODE_ALIAS" +echo "-------------------------------------------" + +# === SYNC === +mc mirror --overwrite "$ZFS_MOUNT" "$LINODE_ALIAS" --quiet +MIRROR_STATUS=$? + +if [[ $MIRROR_STATUS -ne 0 ]]; then + echo "❌ Mirror failed with exit code $MIRROR_STATUS" + curl -s -X POST https://api.telegram.org/bot$KRANG_BOT_TOKEN/sendMessage \ + -d chat_id="$CHAT_ID" \ + -d text="❌ MinIO DR mirror to Linode FAILED. MinIO remains offline. Log: $LOG_FILE" + exit 1 +fi + +echo "✅ Mirror complete. Starting MinIO..." +systemctl start "$MINIO_SERVICE" + +curl -s -X POST https://api.telegram.org/bot$KRANG_BOT_TOKEN/sendMessage \ + -d chat_id="$CHAT_ID" \ + -d text="✅ MinIO DR mirror to Linode completed successfully. MinIO is online. Log: $LOG_FILE" + +echo "🚀 All done." +echo "-------------------------------------------" -- cgit v1.2.3