This commit is contained in:
2026-03-24 22:08:44 +00:00
parent c22ae7390b
commit 32804ebd5c
+38 -37
View File
@@ -21,47 +21,11 @@
HOST1="unRAID-Gmer4Lfe"
HOST2="unRAID-Jayred365"
# Detect local hostname
LOCAL_HOSTNAME="$(hostname)"
if [[ "$LOCAL_HOSTNAME" == "$HOST1" ]]; then
LOCAL_SERVER_NAME="$HOST1"
REMOTE_SERVER_NAME="$HOST2"
elif [[ "$LOCAL_HOSTNAME" == "$HOST2" ]]; then
LOCAL_SERVER_NAME="$HOST2"
REMOTE_SERVER_NAME="$HOST1"
else
echo "Error: Local hostname ($LOCAL_HOSTNAME) not recognized."
exit 1
fi
echo "Local server: $LOCAL_SERVER_NAME"
echo "Remote server: $REMOTE_SERVER_NAME"
echo "DEBUG: LOCAL_HOSTNAME=$LOCAL_HOSTNAME, LOCAL_SERVER_NAME=$LOCAL_SERVER_NAME, REMOTE_SERVER_NAME=$REMOTE_SERVER_NAME"
echo "DEBUG: KEY_ID=$KEY_ID, SSH_KEY=${SSH_KEYS[$KEY_ID]}"
# Remote Server Ip Resolution
# Resolve Tailscale IP dynamically
REMOTE_SERVER=$(tailscale ip -4 "$REMOTE_SERVER_NAME" 2>/dev/null)
if [[ -z "$REMOTE_SERVER" ]]; then
echo "Error: Could not resolve Tailscale IP for $REMOTE_SERVER_NAME"
exit 1
fi
# SSH Key Mapping
declare -A SSH_KEYS
SSH_KEYS["$HOST1|$HOST2"]="/root/.ssh/Gmer4Lfe-rsync-key"
SSH_KEYS["$HOST2|$HOST1"]="/root/.ssh/Jayred365-rsync-key"
KEY_ID="$LOCAL_SERVER_NAME|$REMOTE_SERVER_NAME"
if [[ -n "${SSH_KEYS[$KEY_ID]}" ]]; then
SSH_KEY="${SSH_KEYS[$KEY_ID]}"
else
echo "Error: No SSH key defined for $LOCAL_SERVER_NAME → $REMOTE_SERVER_NAME"
exit 1
fi
echo "Using SSH key: $SSH_KEY"
#-----------------------------------------------------------------------------------------------
#----------------- User Variables --------------------------------------------------------------
#-----------------------------------------------------------------------------------------------
@@ -161,4 +125,41 @@ PROFILE_EXCLUDE_DIRS["important-data"]="logs *.tmp"
PROFILE_EXCLUDE_DIRS["emby"]="logs *.tmp"
#-----------------------------------------------------------------------------------------------
#---------------End Of User Variables, Please adjust here in Master.conf as needed -------------
#-----------------------------------------------------------------------------------------------
#-----------------------------------------------------------------------------------------------
# Detect local hostname
LOCAL_HOSTNAME="$(hostname)"
if [[ "$LOCAL_HOSTNAME" == "$HOST1" ]]; then
LOCAL_SERVER_NAME="$HOST1"
REMOTE_SERVER_NAME="$HOST2"
elif [[ "$LOCAL_HOSTNAME" == "$HOST2" ]]; then
LOCAL_SERVER_NAME="$HOST2"
REMOTE_SERVER_NAME="$HOST1"
else
echo "Error: Local hostname ($LOCAL_HOSTNAME) not recognized."
exit 1
fi
echo "Local server: $LOCAL_SERVER_NAME"
echo "Remote server: $REMOTE_SERVER_NAME"
echo "DEBUG: LOCAL_HOSTNAME=$LOCAL_HOSTNAME, LOCAL_SERVER_NAME=$LOCAL_SERVER_NAME, REMOTE_SERVER_NAME=$REMOTE_SERVER_NAME"
echo "DEBUG: KEY_ID=$KEY_ID, SSH_KEY=${SSH_KEYS[$KEY_ID]}"
# Remote Server Ip Resolution
# Resolve Tailscale IP dynamically
REMOTE_SERVER=$(tailscale ip -4 "$REMOTE_SERVER_NAME" 2>/dev/null)
if [[ -z "$REMOTE_SERVER" ]]; then
echo "Error: Could not resolve Tailscale IP for $REMOTE_SERVER_NAME"
exit 1
fi
KEY_ID="$LOCAL_SERVER_NAME|$REMOTE_SERVER_NAME"
if [[ -n "${SSH_KEYS[$KEY_ID]}" ]]; then
SSH_KEY="${SSH_KEYS[$KEY_ID]}"
else
echo "Error: No SSH key defined for $LOCAL_SERVER_NAME → $REMOTE_SERVER_NAME"
exit 1
fi
echo "Using SSH key: $SSH_KEY"