Compare commits
No commits in common. "e176172e9b3e38458a51a20a161b9be7d803874f" and "9fe05b28b69019f65fc076950f9a7cfacd7ac704" have entirely different histories.
e176172e9b
...
9fe05b28b6
@ -165,7 +165,7 @@ def updatefileindex():
|
|||||||
left_side, right_side = previous_right_side.split('-', 1) if '-' in previous_right_side else (previous_right_side, None)
|
left_side, right_side = previous_right_side.split('-', 1) if '-' in previous_right_side else (previous_right_side, None)
|
||||||
except:
|
except:
|
||||||
# first part not a number
|
# first part not a number
|
||||||
pass
|
continue
|
||||||
|
|
||||||
if 'predig' in left_side.lower():
|
if 'predig' in left_side.lower():
|
||||||
category = 'Predigt'
|
category = 'Predigt'
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Load Configuration from json
|
# Configuration Section (Loaded from config.json)
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
CONFIG_FILE="folder_mount_config.json"
|
CONFIG_FILE="folder_mount_config.json"
|
||||||
@ -12,12 +12,31 @@ if ! command -v jq >/dev/null 2>&1; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# extract the server names at the top level:
|
# Load Server 1 configuration
|
||||||
SERVERS=($(jq -r 'keys[]' "$CONFIG_FILE"))
|
SERVER1_SSH_USER=$(jq -r '.SERVER1.SSH_USER' "$CONFIG_FILE")
|
||||||
|
SERVER1_SSH_SERVER=$(jq -r '.SERVER1.SSH_SERVER' "$CONFIG_FILE")
|
||||||
|
SERVER1_SSH_SERVER_PORT=$(jq -r '.SERVER1.SSH_SERVER_PORT' "$CONFIG_FILE")
|
||||||
|
SERVER1_REMOTE_NFS_PORT=$(jq -r '.SERVER1.REMOTE_NFS_PORT' "$CONFIG_FILE")
|
||||||
|
SERVER1_LOCAL_PORT_BASE=$(jq -r '.SERVER1.LOCAL_PORT_BASE' "$CONFIG_FILE")
|
||||||
|
readarray -t SERVER1_MOUNT_POINTS < <(jq -r '.SERVER1.MOUNT_POINTS[]' "$CONFIG_FILE")
|
||||||
|
readarray -t SERVER1_NFS_SHARES < <(jq -r '.SERVER1.NFS_SHARES[]' "$CONFIG_FILE")
|
||||||
|
|
||||||
|
# Load Server 2 configuration
|
||||||
|
SERVER2_SSH_USER=$(jq -r '.SERVER2.SSH_USER' "$CONFIG_FILE")
|
||||||
|
SERVER2_SSH_SERVER=$(jq -r '.SERVER2.SSH_SERVER' "$CONFIG_FILE")
|
||||||
|
SERVER2_SSH_SERVER_PORT=$(jq -r '.SERVER2.SSH_SERVER_PORT' "$CONFIG_FILE")
|
||||||
|
SERVER2_REMOTE_NFS_PORT=$(jq -r '.SERVER2.REMOTE_NFS_PORT' "$CONFIG_FILE")
|
||||||
|
SERVER2_LOCAL_PORT_BASE=$(jq -r '.SERVER2.LOCAL_PORT_BASE' "$CONFIG_FILE")
|
||||||
|
readarray -t SERVER2_MOUNT_POINTS < <(jq -r '.SERVER2.MOUNT_POINTS[]' "$CONFIG_FILE")
|
||||||
|
readarray -t SERVER2_NFS_SHARES < <(jq -r '.SERVER2.NFS_SHARES[]' "$CONFIG_FILE")
|
||||||
|
|
||||||
|
# Define list of server identifiers (must match JSON keys)
|
||||||
|
SERVERS=("SERVER1" "SERVER2")
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Function Definitions
|
# Function Definitions
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
# Check if the SSH tunnel on a given local port is active
|
# Check if the SSH tunnel on a given local port is active
|
||||||
is_tunnel_active() {
|
is_tunnel_active() {
|
||||||
local port=$1
|
local port=$1
|
||||||
@ -34,14 +53,22 @@ is_nfs_mounted() {
|
|||||||
# Main Loop: Process Each Server and Its Mount Points
|
# Main Loop: Process Each Server and Its Mount Points
|
||||||
###############################################################################
|
###############################################################################
|
||||||
for server in "${SERVERS[@]}"; do
|
for server in "${SERVERS[@]}"; do
|
||||||
SSH_USER=$(jq -r ".[\"${server}\"].SSH_USER" "$CONFIG_FILE")
|
# Retrieve server-specific configuration using indirect expansion
|
||||||
SSH_SERVER=$(jq -r ".[\"${server}\"].SSH_SERVER" "$CONFIG_FILE")
|
ssh_user_var="${server}_SSH_USER"
|
||||||
SSH_SERVER_PORT=$(jq -r ".[\"${server}\"].SSH_SERVER_PORT" "$CONFIG_FILE")
|
ssh_server_var="${server}_SSH_SERVER"
|
||||||
REMOTE_NFS_PORT=$(jq -r ".[\"${server}\"].REMOTE_NFS_PORT" "$CONFIG_FILE")
|
ssh_server_port_var="${server}_SSH_SERVER_PORT"
|
||||||
LOCAL_PORT_BASE=$(jq -r ".[\"${server}\"].LOCAL_PORT_BASE" "$CONFIG_FILE")
|
remote_nfs_port_var="${server}_REMOTE_NFS_PORT"
|
||||||
|
local_port_base_var="${server}_LOCAL_PORT_BASE"
|
||||||
|
mount_points_var="${server}_MOUNT_POINTS[@]"
|
||||||
|
nfs_shares_var="${server}_NFS_SHARES[@]"
|
||||||
|
|
||||||
readarray -t MOUNT_POINTS < <(jq -r ".[\"${server}\"].MOUNT_POINTS[]" "$CONFIG_FILE")
|
SSH_USER="${!ssh_user_var}"
|
||||||
readarray -t NFS_SHARES < <(jq -r ".[\"${server}\"].NFS_SHARES[]" "$CONFIG_FILE")
|
SSH_SERVER="${!ssh_server_var}"
|
||||||
|
SSH_SERVER_PORT="${!ssh_server_port_var}"
|
||||||
|
REMOTE_NFS_PORT="${!remote_nfs_port_var}"
|
||||||
|
LOCAL_PORT_BASE="${!local_port_base_var}"
|
||||||
|
MOUNT_POINTS=("${!mount_points_var}")
|
||||||
|
NFS_SHARES=("${!nfs_shares_var}")
|
||||||
|
|
||||||
echo "-------------------------------------------------"
|
echo "-------------------------------------------------"
|
||||||
echo "[INFO] Processing server: ${SSH_SERVER}"
|
echo "[INFO] Processing server: ${SSH_SERVER}"
|
||||||
@ -97,6 +124,5 @@ for server in "${SERVERS[@]}"; do
|
|||||||
|
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "-------------------------------------------------"
|
echo "-------------------------------------------------"
|
||||||
echo "[INFO] All server mount configurations processed."
|
echo "[INFO] All server mount configurations processed."
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user