#!/usr/bin/env bash set -euo pipefail BASE="/mnt/sharepoint" declare -A REMOTES=( ["Administration"]="SP_Administration:" ["Operations"]="SP_Operations:" ["SkyscaleCommerce"]="SP_SkyscaleCommerce:" ) RCLONE_FLAGS=( --vfs-cache-mode writes --dir-cache-time 1h --poll-interval 1m --umask 022 --log-level INFO ) is_mounted() { findmnt -rn "$1" >/dev/null 2>&1; } # Ensure mountpoints exist sudo mkdir -p "$BASE"/{Administration,Operations,SkyscaleCommerce} sudo chown -R "$USER:$USER" "$BASE" for name in "${!REMOTES[@]}"; do mp="$BASE/$name" remote="${REMOTES[$name]}" if is_mounted "$mp"; then echo "Already mounted: $mp" continue fi echo "Mounting: $remote -> $mp" nohup rclone mount "$remote" "$mp" "${RCLONE_FLAGS[@]}" \ --log-file "${XDG_RUNTIME_DIR:-/run/user/$UID}/rclone-${name}.log" \ >/dev/null 2>&1 & done